こんにちは、みっちゃんです。
以前の記事で、2進数などについて紹介しました。
今回の記事では、2進数を用いた四則演算(足し算、引き算、掛け算、割り算)のうち、「足し算」と「引き算」について紹介したいと思います。
目次(まとめ)
- 足し算:「2個そろったら繰り上がる」ことに注意
- 引き算:コンピュータ上で「2の補数」で表現された負の値を足す
- 参考文献
足し算:「2個そろったら繰り上がる」ことに注意
繰り上がりについては、以前の記事で解説しました。
例えば「00000011」という8桁の2進数が与えられたとします。
この数字に「00000001」を足すことを考えます。
「00000012」ではないことに注意してください。
2進数は「0」と「1」だけで表現される数字なので「2」は存在しません。
したがって、繰り上がりが2回発生して「00000100」となります。
00000011+00000001=00000100
つまり、10進数での「3+1=4」に対応します。
引き算:コンピュータ上で「2の補数」で表現された負の値を足す
「補数」とは「(ある目的を達成するために)補う数」という意味です。
ここで、目的とは、以下のようなものです。
目的(1) 与えられた桁数で最大値を示すこと
目的(2) 次の桁に繰り上がること
例えば、「00000011」という8桁の2進数が与えられたとします。
目的(1)を達成するためには「11111100」という8桁の数字を足せばいいということになり「11111111」が与えられた桁数(8桁)での最大値です。
ここで「11111100」を「1の補数」と呼びます。
目的(2)を達成するためには「11111101」という8桁の数字を足せばいいということになり「100000000」というように9桁目に繰り上がっています。
ここで「11111101」を「2の補数」と呼びます。
コンピュータでは「2の補数」を元の値の負の値として使用されています。
00000011+11111101=(1)00000000
つまり、3+(−3)=0ということです。
※繰り上がって生じた9桁目の「1」は無視されます。
このように「引き算」も負の値を使った「足し算」として実現されています。
参考文献
きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社