2進数には補数表現というものがあります。補数表現を用いると正の二進数と負の二進数を正負の符号を使わなくても表現することができます。
本記事では二進数の補数表現について説明していきます。
目次
二進数の補数表現とは?
二進数で正負を表現するときに便利なのが「補数表現」です。
補数表現を使った場合は最上位桁の0,1が正負を表します。最上位桁が1の時は負の二進数を表します。補数表現には便利な特性があるため良く利用されています。
具体的に補数表現を見ていきましょう。
4ビットの二進数の補数を表してみます。
「0001」の補数は全ビットを反転させて「1110」それに1を足した「1111」となります。
十進数(正) | 二進数(正) | 二進数(負) | 十進数(負) |
0 | 0000 | 0 | |
1 | 0001 | 1111 | -1 |
2 | 0010 | 1110 | -2 |
3 | 0011 | 1101 | -3 |
4 | 0100 | 1100 | -4 |
5 | 0101 | 1011 | -5 |
6 | 0110 | 1010 | -6 |
7 | 0111 | 1001 | -7 |
1000 | -8 |
上の表を見るとなぜ補数というのか?が分かると思います。4ビットで表現できる数は16個ありますが、それを正負半分に分けたようにしています。
補数表現の足し算
補数表現の利点は正負の補数をそのまま足しても計算できるところにあります。
「0001(+1)」+「1111(-1)」=「10000」となります。4ビットなので繰り上がった5桁目は消して「0000(0)」となります。補数表現では正負を気にせずに足し算することで計算できます。