首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell中的高精度浮点数?

Haskell中的高精度浮点数?
EN

Stack Overflow用户
提问于 2013-06-02 07:23:14
回答 3查看 13.1K关注 0票数 26

我知道Haskell有原生数据类型,允许你有非常大的整数,所以像这样的东西

代码语言:javascript
复制
>> let x = 131242358045284502395482305
>> x
131242358045284502395482305

按照预期工作。我想知道是否有类似的“大精度浮点”原生结构可以使用,比如

代码语言:javascript
复制
>> let x = 5.0000000000000000000000001
>> x
5.0000000000000000000000001

是有可能的。如果我在Haskell中输入它,如果我超过15位小数(双精度),它将被截断为5。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-02 08:54:17

具体取决于您要查找的内容:

  • Float和languages.
  • Rational --几乎就是你所知道的所有其他Integers
  • FixedPoint中的浮点数和双精度数,它是DoubleRatio --这个包提供了任意大小的定点数值。例如,如果您想要一个由64个整数位和64个小数位表示的数字,则可以使用FixedPoint6464。如果您想要一个1024整数位和8个小数位的数字,那么使用$(mkFixedPoint 1024 8)生成类型FixedPoint1024_8.
  • EDIT:,是的,我刚刚了解了上面提到的numbers包-非常酷。
票数 20
EN

Stack Overflow用户

发布于 2013-06-02 08:12:15

Haskell本身并没有高精度的浮点数。

对于用于此目的的包/模块/库,我将参考this answer to another post。还有一个示例展示了如何使用这个包,名为。

票数 9
EN

Stack Overflow用户

发布于 2015-12-13 22:27:16

如果你需要高精度/快速/浮点计算,你可能需要使用FFI和long doubles,因为原生Haskell类型还没有实现(参见https://ghc.haskell.org/trac/ghc/ticket/3353)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16878251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档