创建超出正常大小的数值数据类型

时间:2010-12-19 12:08:22

标签: c++ types numbers math arbitrary-precision

很久以前我在Windows上遇到了一个计算器程序。我记不起它的名字,但令人印象深刻的是它可以计算最大512字节大小的数字。例如,请求pi值,它可以给出具有数百个数字的数字。 (但当然输出需要几秒钟)通常,int为4个字节,双8个字节等。

现在,我们该怎么做?如何为可能超出正常范围的数字分配变量? (如,int是4个字节,long是8个字节)在这种情况下如何防止溢出和下溢?假设这是C ++。

2 个答案:

答案 0 :(得分:3)

谷歌周围的术语任意精度算术多精度算术。库的数量加上实现此类算法的应用程序的数量可能超过2 ^ 32。

答案 1 :(得分:3)

您可以使用GNU MP库或其竞争对手之一来执行此操作。

如果你擅长数学,你也可以自己动手。