我们在程序中进行的数值运算受到语言为给定数据类型(或者硬件支持)指定的字节数的限制。假设我可以使用整数来计算我的薪水(即使“短”也足以满足一年的收入!!!;))但不能对比尔·盖茨的财富做同样的事情。因此,我们会选择 long long 之类的东西。但是,我们不是仍然受制于给我们的比特数吗?
那么,如果我在软件中模拟数值运算呢?说一个抽象的类,可以对具有 1000 位数字的数字进行数值运算......当然它会太慢,但我不太担心复杂性,而是更多地关注可计算性......
也许我可以用它在几个月内将 PI 计算到 1000 位的精度,或者在几年内计算出梅森素数并带回家 10 万美元;)
所以现在我的问题是,1)是否已经有任何这样的库可以做这种事情(在 C/C++ 中)。2)如果我要实施一个,你对我有什么建议吗?(+、-、*、/、%、<<、>> 操作我猜应该足够了)
PS:
我是 C/C++ 程序员。
这个限制从我的学生时代就开始困扰我。