4

巨大な数とは、ギガバイト (4/8 バイトなどではなく) を取得し、それを他の任意の大きな (または小さな) 数値で加算/減算/乗算/除算しようとした場合を意味します。

加算と減算はかなり簡単です (一度に 1 k/m/バイト):

out_byteN = a_byteN + b_byteN + overflowBit 

したがって、バイトごとに、ディスクから数値を読み取るときに加算/減算でき、RAM が不足するリスクはありません。

乗算/除算の場合は、上記をループで実行するだけです。

しかし、巨大な数の n 乗根を取る場合はどうでしょうか?

4

4 に答える 4

8

「The GNU Multiple Precision Arithmetic Library」( http://gmplib.org/ ) のようなものを求めていますか?

于 2010-10-08T18:50:15.623 に答える
7

他の数と同じ:ニュートン反復.

于 2010-10-08T18:40:27.830 に答える
1

任意精度の算術ライブラリ を使用できます。BigDigitsは良いものです。

于 2010-10-08T19:08:30.777 に答える
1

複数の方法があります: 二分法、ニュートン法、ハウスホルダー法。

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

于 2010-10-08T18:53:51.277 に答える