第1種情報処理技術者試験 |
1997年度 = 平成9年度 |
午前 |
問3 |
負数には2の補数を用いる整数表現において、64ビットで表現できる最大の数は10進数で何けたか。必要ならば、log102=0.301を使ってもよい。
イ
2の補数表現では、最上位ビットを符号ビットとして用います(0…非負/1…負)。nビットであれば、表現できる値は-2n-1 ~ 2n-1 - 1であり、64ビットでは-263-1 ~ 263 - 1です。
263に比べて1は小さいから無視できますから、10進数での最大桁数nは、以下のように求められます。
10n = 263
log1010n = long10263
n = 63 log102 = 63×0.631 = 18.963
得られた値の小数点以下の部分を切り上げた19が正解となります。