関数型プログラミング言語Haskell Part9
at TECH
800:デフォルトの名無しさん
08/10/02 01:06:55
>>799
問題ある
>>797は、バイナリモードで開いた上でgetContentsすればいい、という意味で言った
>>798
確かにそうだな
ちゃんとテストしてないけど一応こんなんでいけるみたいだ
import Data.Bits
import Data.Word
w32ToFloat :: Word32 -> Float
w32ToFloat w
| ep == 255 && sf /= 0 = 0 / 0
| sf == 255 = sign / 0
| sf == 0 && ep == 0 = sign * 0
| otherwise = sign * encodeFloat r e
where
sn = shiftR w 31
ep = shiftR w 23 .&. 0xff
sf = w .&. 0x7fffff
sign = if sn == 1 then -1 else 1
e = fromIntegral ep - 127 - 23
r = fromIntegral sf + 0x800000
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5212日前に更新/225 KB
担当:undef