4

巨大的数字,我的意思是如果你拿了一个千兆字节(而不是 4/8 字节等)并试图将它加/减/乘/除以其他任意大(或小)的数字。

加法和减法相当容易(一次一个 k/m/字节):

out_byteN = a_byteN + b_byteN + overflowBit 

对于每个字节,因此我可以在从磁盘读取数字时加/减,而不会冒用完 RAM 的风险。

对于乘法/除法,只需在循环中执行上述操作。

但是如何取一个巨大数字的 n 次根呢?

4

4 回答 4

8

您是否要求类似“GNU 多精度算术库”(位于http://gmplib.org/)?

于 2010-10-08T18:50:15.623 回答
7

与任何其他数字相同:牛顿迭代

于 2010-10-08T18:40:27.830 回答
1

有多种方法:二分法、牛顿法、Householder 法。

http://en.wikipedia.org/wiki/Root-finding_algorithm

于 2010-10-08T18:53:51.277 回答
1

您可以使用任意精度算术库。 BigDigits是一个不错的选择。

于 2010-10-08T19:08:30.777 回答