巨大的数字,我的意思是如果你拿了一个千兆字节(而不是 4/8 字节等)并试图将它加/减/乘/除以其他任意大(或小)的数字。
加法和减法相当容易(一次一个 k/m/字节):
out_byteN = a_byteN + b_byteN + overflowBit
对于每个字节,因此我可以在从磁盘读取数字时加/减,而不会冒用完 RAM 的风险。
对于乘法/除法,只需在循环中执行上述操作。
但是如何取一个巨大数字的 n 次根呢?
您是否要求类似“GNU 多精度算术库”(位于http://gmplib.org/)?
与任何其他数字相同:牛顿迭代。
有多种方法:二分法、牛顿法、Householder 法。