鉄道模型製作所のロゴ

2進数の足し算について。ITへの扉(入門編) No.33

2022年8月1日カテゴリー: ITへの扉

本誌の第136号で述べたように、コンピュータはデジタル(※1)の数値を処理しますが、一般的には2進数が使われています。2進数は「1」と「0」のみで表現される数値で、例えば、表4のように、10進数の(8)10(はち)は2進数の(1000)2(いちぜろぜろぜろ※2)で表わされます。

10進数 16進数 2進数
0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
10 a 1010
253 fd 11111101
254 fe 11111110
255 ff 11111111

コンピュータ内部では、予め記憶したプログラムに従い、2進数の様々な演算や処理を行います。
以下はコンピュータ内部で行われる2進数の足し算についてのお話しです。
計算のポイントは、10進数では(9)10の次は桁が一つあがり(10)10になるように、2進数は(1)2の次で1つ桁をあげて、(10)2になることです。
例えば、(100)2と(101)2を足す演算を図6の筆算で考えます。まず、1桁目から足していきます。1桁目は(0)2+(1)2=(1)2となり、桁あがりはありません。次に、2桁目は(0)2+(0)2=(0)2となり、桁あがりはありません。次に3桁目の(1)2+(1)2は、1つ桁をあげる必要があります。すなわち、(1)2+(1)2=(10)2となります。
従って、答えは
(100)2+(101)2=(1001)2となります。

図6 二進数の足し算

この計算を10進数で検算すると、(100)2と(101)2は表4より、それぞれ10進数の4と5ですから、4+5=9となります。10進数の9は表4から(1001)2となりますので、2進数での計算と合致しました。
関数電卓をお持ちの場合は、2進数のモードにして、上記の計算の他、いろいろ計算を試してみるのも面白いかと思います。

※1 デジタルは飛び飛びの値(整数等)で表現することを意味します。
※2 間違いを防ぐため、n進数の表記を( )nのように記述する場合がある。これ以外にも表記方法があり、プログラミング言語によっても違いがある。