コンテンツにスキップ

2進数

出典: フリー教科書『ウィキブックス(Wikibooks)』

のような記法がされる時、カッコ内は10進数で表記した際の数字です。

2進数その桁の値が2になると桁が上がる表記法です。すなわち、2進数での数は01のみで表記されます。以下に10進数(私たちが通常用いる数字の表記法)を2進数で表す例を示します。

10進数 2進数
0 0
1 1
2 10
3 11
4 100
10 1010
100 1100100
0.5 0.1
0.25 0.01
0.75 0.11

列記してみてわかるように、2進数の各桁は2の冪数)になっていることがわかります。例えば一桁目は, 二桁目は, 小数点以下に関しても一桁目が, 二桁目がとなっています。

四則演算

[編集]

和算・減算

[編集]

2進数の足し算と引き算に関しては10進数のそれと同じような要領でできます

      1 0 1  
       0   1   1   
      0 1 0    
      0 1 0  
  +       0   1   1   
      1 0 1    

左の計算では、一桁目は, 二桁目は, 三桁目は二桁目から繰り上がったが入っています。右の計算では、一桁目は, 二桁目は三桁目から繰り下がりして, 三桁目は二桁目で繰り下がったためが入っています。

積算・除算

[編集]

2進数のかけ算とわり算に関して、10進数のそれとはあまり応用が効きません。理由として通常計算をする際には、各自暗記した九九を転用して行うこととなりますが、2進数のそれは別のものとなるためです。[1]そのため、基数変換によって2進数を10進数に変換するか、後述のシフト演算という手法を用いることになります。

シフト演算

[編集]

2進数の各桁は10進数で見たときに2の冪数となっていることは前述したとおりです。つまり、現在の数字に2をかけると左に一つ桁がズレ、2で割ると右に一つ桁がズレます

上の例ではカッコ内に10進数で表記した際の数字を記述していますが、確かに数字そのままに桁を一つズラすと各2でかけ算わり算をしたときの結果になっていることがわかると思います。

シフト演算では、この桁のズレを利用して計算を行います。上記の桁のズラしを1回行うと、2でのかけ算(わり算)が行われます。つまり、左(右)に桁をn回ズラすと、現在の数字にでかけ算(わり算)を行うという処理になることがわかると思います。以下に例を示します。カッコ内は10進数で表記した際の数字です。

しかし、このやり方のみではでの積除算しかできません。そのため、以外でかけ算わり算をするときには足し算引き算も使用します。以下に例を示します。

注釈

[編集]
  1. ^ 実際には、2進数でかけ算の筆算をしてみると10進数と同じ感覚でできます。しかし、ある意味偶然の残物というべきものであり、事実16進数などでは使えません。小技として使えることは頭に入れてもいいと思いますが、正統な方法を覚えることに損はないと考えます。