ビット数を数える2 再帰版
ここのバージョン3を参考に
http://www.nminoru.jp/~nminoru/programming/bitcount.html
import Bits bitCount2 :: Int -> Int bitCount2 0 = 0 bitCount2 b = 1 + bitCount2 ( b .&. (b-1))
こっちの方が綺麗で好きだなぁ。
なんとなく短くしてみたり
import Bits e:: Int -> Int e 0=0;e b=1+e(b.&.(b-1))
24 byte (関数宣言のみ。型宣言やimport行は除く)