Thanks Stephen for your response.
With the help of #haskell I was actually able to find my answer:
import Char
import Numeric
import Data.Bits
import Data.Binary.Put
import Data.Binary.IEEE754
import qualified Data.ByteString.Lazy as LBS
main = do putStrLn . show $ map getBits (LBS.unpack . runPut $ putFloat64be 4.123)
getBits i = showIntAtBase 2 (chr . (48+)) i ""
--- On Fri, 12/11/09, Stephen Tetley wrote:
From: Stephen Tetley
Subject: Re: [Haskell-beginners] Printing the bits of an Int|Double
To: "M Xyz"
Cc: beginners@haskell.org
Date: Friday, December 11, 2009, 9:29 AM
Further...
If you need double precision you might have to do it yourself.
In absence of comments in the code I posted, the algorithm I used for
single precision is from here:
http://www.utdallas.edu/~cantrell/ee6481/lectures/float_comp.pdf
Eventually I'll get around to double precision, but not soon.
Best wishes
Stephen