import Data.Word -- 32ビット符号なし整数型へ変換 toWord32 :: (Enum a) => a -> Word32 toWord32 = toEnum.fromEnum -- 16ビット符号なし(ry toWord16 :: (Enum a) => a -> Word16 toWord16 = toEnum.fromEnum -- 8ビット(ry toWord8 :: (Enum a) => a -> Word8 toWord8 = toEnum.fromEnum
地味だけど、結構お世話になってしまう型変換。なお、変換できない場合(型の表現できる値よりも大きな値を与えた場合)は例外が投げられます。
式の形がおんなじなんで、もっと簡単な書き方があるのかもしれません。