I am writing a function in Haskell that deals with numbers beyond the length of a 32 bit int. I cannot find the type to do this and I seem to be searching for the wrong terms.
It needs to be able to hold numbers with the length of about 2^40 without any loss of precision
Example:
addTwo :: Int -> Int -> Int
addTwo a b = a + b
main :: IO()
main = do
putStrLn ( show ( addTwo 700851475143 1 ) )
For unbounded precision, use the Integer type. For 64 bits of precision, across platforms, use Data.Int.Int64. Both will be easy to find with Hoogle: http://haskell.org/hoogle/
You want the Integer
data type instead of Int
:
addTwo :: Integer -> Integer -> Integer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With