
2の補数 とは
2の補数は、負の整数をコンピュータで表現するための方法です。正の整数を2進数で表すのに対し、負の整数は2の補数表現を用いることで、加減算の処理を簡素化できます。
具体的には、ある正の整数Nの2の補数は、2のNビット目(Nがmビットで表現されるとき、2m)からNを引いた値として定義されます。この表現を用いることで、減算を符号なしの加算として処理できます。
この方法は、コンピュータ内部で効率的に演算を行うために広く用いられています。特に、符号付き整数の加減算において、ハードウェア設計を簡略化できるという利点があります。
負数の表現と演算
「負数の表現と演算」に関して、以下を解説していきます。
- 2の補数による負数の表現方法
- 2の補数を使った加減算の仕組み
2の補数による負数の表現方法
2の補数表現では、最上位ビットを符号ビットとして使用します。最上位ビットが0であれば正の数、1であれば負の数となります。負の数の表現は、正の数の2の補数を求めることによって得られます。
例えば、8ビットで表す場合、-1は11111111と表現されます。これは、1(正の1)の2の補数を求めることで得られます。具体的には、1の2進数表現00000001を反転して11111110とし、さらに1を加えることで11111111となります。
10進数 | 2進数 | 2の補数 |
---|---|---|
1 | 00000001 | 00000001 |
2 | 00000010 | 00000010 |
-1 | 11111111 | 11111111 |
-2 | 11111110 | 11111110 |
-128 | 10000000 | 10000000 |
2の補数を使った加減算の仕組み
2の補数表現の大きな利点は、減算を符号なしの加算として処理できる点です。これは、A-Bという減算を、A + (-B)という加算に置き換えることで実現します。ここで、-BはBの2の補数です。
この方法によって、コンピュータのハードウェアは減算器を必要とせず、加算器のみで加減算を処理できます。これは、ハードウェア設計の簡素化と演算速度の向上に繋がります。
演算 | 10進数 | 2進数 | 結果(10進数) |
---|---|---|---|
3 + 2 | 3 + 2 | 0011 + 0010 | 5 |
3 – 2 | 3 + (-2) | 0011 + 1110 | 1 |
-3 + 2 | -3 + 2 | 1101 + 0010 | -1 |
-3 – 2 | -3 + (-2) | 1101 + 1110 | -5 |