我正在用Haskell编写一个函数,它处理超过32位int长度的数字。我找不到这样做的类型,而且我似乎在搜索错误的术语。
它需要能够保存长度约为2^40的数字而不损失任何精度
示例:
addTwo :: Int -> Int -> Int
addTwo a b = a + b
main :: IO()
main = do
putStrLn ( show ( addTwo 700851475143 1 ) )发布于 2009-06-15 03:43:15
对于无界精度,请使用Integer类型。对于跨平台的64位精度,请使用Data.Int.Int64。这两个都很容易用Hoogle找到:http://haskell.org/hoogle/
发布于 2009-06-14 22:46:01
您希望使用Integer数据类型而不是Int数据类型
addTwo :: Integer -> Integer -> Integer发布于 2009-06-14 22:46:32
请使用精度不受限制的Integer,而不是Int。
https://stackoverflow.com/questions/993936
复制相似问题