该数字操作,我们在我们的节目是有限的数字节,即一个语言中指定一定数据类型(或者,也许硬件支持).说我可以使用的整数计算在我的薪水(甚至"短"足够多的一年赚钱!!!;)),但不能这样做的比尔*盖茨的财富。因此,我们喜欢的事情长久的东西。但不是我们仍然任凭的比特数,这是给我们。

所以,怎么样,如果我数值模拟操作的软件吗?说一类摘要和可以做到的数值上的操作数字1000个数字...当然,这将是太过缓慢,但我不是更担心的复杂性,但更看就可计算性...

也许我可以用它来计算PI到1000位数字的精确度在一个月或者一个梅森素在几年中采取主$100K;)

所以现在我的问题 1)是否有已经任何这样的图书馆做这样的东西(在C/C++)。2)如果我去执行一个,你有什么建议给我吗?(+, -, *, /, %, <<,>>行动应该够我猜)


PS:

  1. 我是C/C++编程。

  2. 这种限制开始烦我从我的教学日。

有帮助吗?

解决方案

这种数据类型被称为随意的-精确的数字。在爪哇,有的课程 BigDecimalBigInteger 其处理的基本操作(+,-,*,/)上数字的水平。他们没有建筑的大小限制。他们实际上不是缓慢和使用在很多实际领域。

C/C++没有它内在的但是有很多图书馆在那里。看到一个列表里:http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#Libraries

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top