2011-07-18 23 views
2

大規模な算術演算(本当に大規模な)を処理するために、私は大規模な基底に最大squareroot(MAXNUMBER)を格納する必要があります。より大きいベースで数字を表すには、小さい桁数が必要です。バイナリ形式では10進数で120 = 1111000です。だから、私たちが大規模な拠点に大量のデータを保管すると、最低レベルのビット数が減るのでしょうか?私はそうではないと思う16進数のシステムの任意の数は、紙の小さな桁数を確実にハードウェアではないので。大規模算術

ここで何か不足していると思います。誰かがビット数の少ないビットレベルで大きなベース・ナンバーをどのように保存することができますか?

答えて

0

は、どのエンコーディングを使用するかによって異なります。バイナリコード化された小数点以下の桁数を4つのバイナリビットでコーディングすることができます。また、128ビットの数字あなたは上記の両方のソリューションをオンラインで行えるようにするライブラリを見つけることができます。 P.S BCDは小さな数字のためのより小さなスペースを取るが、大きな数字のための巨大なビット。おそらくあなたはあまりにも無駄ではないBCDのいくつかのバリエーションを見つけることができます

0

考えられるのは、少ないビット数で表現することです。 1,000,000,000,002という数字を1,000,000^2と表すことができます。もちろん、精度は失われますが、実際には非常に大きな数値であれば、通常、精度の低下についてはあまり気にしません。

関連する問題