基本情報技術者試験
●nビットで表現できる値の範囲
0~2のn乗-1
例)4ビット (0~15)
●負数を2の補数で表すとき、nビットで表現できる整数の範囲
-2のn-1乗~+2のn-1乗-1
例)4ビット (-8~+7)
上の式の意味を4ビットの例で読み取ってください。
負数を2の補数で表すと、一番左の符号ビットが1のものは、負数になります。
とありますが、下記の表を見たとき、
【質問】どのような計算で負数のある10進数が導かれるのでしょうか?
| 0以上の10進数 | 4ビットの2進数 | 負数のある10進数 |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | +1 |
| 2 | 0010 | +2 |
| 3 | 0011 | +3 |
| 4 | 0100 | +4 |
| 5 | 0101 | +5 |
| 6 | 0110 | +6 |
| 7 | 0111 | +7 |
| 8 | 1000 | ‐8 |
| 9 | 1001 | -7 |
| 10 | 1010 | -6 |
| 11 | 1011 | -5 |
| 12 | 1100 | -4 |
| 13 | 1101 | -3 |
| 14 | 1110 | -2 |
| 15 | 1111 | -1 |
※負数を2の補数で表すと、この範囲の値は16を引いた負数になる