What is the upper bound of Integer in Haskell?
我正在解决一个数学问题:想得到数字
在Java中,解决方案是:
1 2 3 4 5 |
然后在Haskell提出了一个解决方案,如下所示:
号
整个过程相当流畅,有一点似乎很有趣,我们知道整型不能处理EDCOX1×1,太大了,在Java中,使用EDCOX1×2是很明显的,并且把大数处理成字符串,但是在Haskell中,没有编译错误意味着EDCOX1〔1〕可以直接传递。问题是,Haskell是否在内部将数字转换成字符串?我想确定类型并让编译器确定,然后在ghci中键入以下行:
1 2 3 4 5 6 7 8 9 10 | Prelude> let i = 2 ^ 1000 Prelude> i 107150860718626732094842504906000181056140481170553360744375038837035105112493612249319 837881569585812759467291755314682518714528569231404359845775746985748039345677748242309 854210746050623711418779541821530464749835819412673987675591655439460770629145711964776 86542167660429831652624386837205668069376 Prelude> :t i i :: Integer |
在这里,我完全困惑了,很明显,
在haskell中,
在实践中,即使是
默认情况下,ghc使用gmp包来表示
在haskell中,