很久以前我在 Windows 上遇到过一个计算器程序。我不记得它的名字了,但令人印象深刻的一点是它可以计算高达 512 字节大小的数字。例如,请求一个 pi 值,它可以给出数百位的数字。(当然输出需要几秒钟)通常,一个 int 是 4 个字节,双倍 8 个字节,等等。
现在,我们该怎么做呢?我们如何为可能超出正常范围的数字分配变量?(如 int 为 4 个字节,long 为 8 个字节)在这种情况下如何防止上溢和下溢?假设这是 C++。
很久以前我在 Windows 上遇到过一个计算器程序。我不记得它的名字了,但令人印象深刻的一点是它可以计算高达 512 字节大小的数字。例如,请求一个 pi 值,它可以给出数百位的数字。(当然输出需要几秒钟)通常,一个 int 是 4 个字节,双倍 8 个字节,等等。
现在,我们该怎么做呢?我们如何为可能超出正常范围的数字分配变量?(如 int 为 4 个字节,long 为 8 个字节)在这种情况下如何防止上溢和下溢?假设这是 C++。
谷歌搜索术语任意精度算术和多精度算术。库的数量加上实现这种算法的应用程序的数量可能超过 2^32。
您可以使用GNU MP库或其竞争对手之一来做到这一点。
如果你擅长数学,你也可以自己动手。