ITパスポート
テクノロジ系
1バイトで表現できる符号なし整数の最大値はどれか。
1.
127
2.
128
3.
255
✓ 正解
4.
256
📝 解説
1バイトで表現できる符号なし整数の最大値を求める問題です。1バイトは8ビットですが、「何通りの組み合わせを作れるか」を考えれば簡単に解けます。電気のスイッチ8個に例えましょう。各スイッチはON(1)かOFF(0)の2通りで、8個を組み合わせると2⁸=256通りの状態が作れます。符号なし整数では0から始まるので、0・1・2・…・255という256段階が表現できます。最大値は256-1=255です。「なぜ256でなく255か?」というと、0も1つの値として数えるからです。同じ考え方で、符号あり整数(2の補数表現)では1ビットを符号(+/-)に使うため、残り7ビットで正の範囲を表し最大値は127(2⁷-1)、最小値は-128となります。誤答の「256」は個数(通り数)であって最大値ではなく、「128」は符号なし7ビットの最大値です。「符号なし8ビット最大値=255、符号あり8ビット最大値=127」をセットで覚えましょう!