基本情報技術者試験
●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を引いた負数になる