0

これについて助けが必要です

符号なし整数の範囲が10億から10億の場合、何ビットが必要かと尋ねられました。

これをどのように計算しますか?

ありがとうございました

アップデート!!!!

これは私が知りたかったことです。

4

3 に答える 3

6

10億の対数ベース2を取り、切り上げます。

または、整数(40億を超える値)には32ビットが必要であるため、20億の場合は31ビット、10億の場合は30ビットが必要になることを知っておく必要があります。

もう1つの便利なことは、10ビットごとに1000(1024)を少し超える係数で表すことができる値の数が増えることです。したがって、1000の場合、10ビットが必要で、100万が20ビットを必要とし、10億が30ビットを必要とします。

于 2010-11-19T19:35:17.963 に答える
3

計算log2(1000000000)して切り上げます。30ビットで動作します。

たとえば、Pythonでは次のように計算できます。

>>> import math
>>> math.ceil(math.log(1000000000, 2))
30.0
于 2010-11-19T19:34:59.243 に答える
2
2^10 = 1024
2^10 * 2^10 = 2^20 = 1024*1024 = 1048576
2^10 * 2^10 * 2^10 = 2^30 = 3 * 1024 ~= 1,000,000

=>30ビット

于 2010-11-19T19:37:36.743 に答える