大量的,我的意思是你拿了一个千兆字节(而不是4/8字节等)并试图用其他任意大(或小)的数字加/减/乘/除它。
加法和减法相当容易(一次一个k / m /字节):
out_byteN = a_byteN + b_byteN + overflowBit
对于每个字节,因此我可以在读取磁盘中的数字时进行加/减,并且不会有用尽RAM的风险。
对于乘法/除法,只需在循环中执行上述操作。
但是接受巨大数字的第n个根呢?
答案 0 :(得分:8)
您是否要求“GNU多精度算术库”(http://gmplib.org/)?
答案 1 :(得分:7)
与其他任何数字相同:Newton iteration。
答案 2 :(得分:1)
有多种方法:Bisection,Newtons,Householder's方法。
答案 3 :(得分:1)
您可以使用Arbitrary-precision Arithmetic库。 BigDigits是一个很好的。