小数を2進数で表す
import Numeric -- 1未満の小数を2進数で表す shosuToBin :: Float -> [Int] shosuToBin n = shosuToBin' (n * 10^(keta n)) (keta n) shosuToBin' :: Float -> Int -> [Int] shosuToBin' n i | n == 0 = [] | n*2 >= 10^i = 1:shosuToBin' (n*2 - 10^i) i | otherwise = 0:shosuToBin' (n*2) i -- 小数点以下の桁数 keta :: Float -> Int keta n = length (showFFloat Nothing n "") - 2