首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >极大数/小数编程

极大数/小数编程
EN

Stack Overflow用户
提问于 2009-12-29 20:48:48
回答 6查看 6.9K关注 0票数 3

我正在尝试做一些非常精确的数学计算,非常大/很小的数字。非常大的数字可能有10 - 50位数字,而非常小的数字可能有10 - 50位小数位。C++能做到这一点吗?如果不是,有没有其他编程语言可以处理这种数字?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-12-29 20:50:35

C++可以使用库来实现,例如GNU Multiple Precision Arithmetic库。

票数 10
EN

Stack Overflow用户

发布于 2009-12-29 20:55:06

如果您正确地为这些数字实现了数据类型,那么每种语言都可以处理这些数字。我想你想要一种内置了这样的数据类型的语言。

一般来说,对于C++中的double数据类型的函数,以及在大多数其他语言中,精度对于非常小和非常大的数字都是非常好的。关于这一点,我建议咨询wikipedia,它在那里有很好的解释。

剩下的唯一问题是,双精度数对你来说是否有足够的精度。我猜50位数对它来说太多了,但是你仍然可以实现你自己的数据类型。既然您现在知道了double是如何工作的,那么这应该是可能的。但是,您仍然可以尝试搜索已经实现了这种数据类型的数学库。

票数 1
EN

Stack Overflow用户

发布于 2009-12-29 23:26:17

如果您想做非常精确的算术运算,而不是编写C++代码来做非常精确的算术运算,那么您应该看看Mathematica、Maple和它们的开源竞争对手,比如Maxima、Sage,可能还有其他公司。

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

https://stackoverflow.com/questions/1974487

复制
相关文章

相似问题

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