2進数について

2進数について

10進数と2進数の違いについて述べます。通常私たちが使う数字は10進数が多いですが、パソコンの処理には2進数が使われます。パソコンに仕事させるには、CPUが理解できる機械語に変換して処理させますが、この機械語が2進数で扱われています。そこで、2進数を知るために10進数との違いを説明します。10進数とは0から9までの10種類の数字を使います。0から9までを数えたら2桁の数字の10に繰り上がります。これに対して、2進数の場合は0と1の2種類の数字を使います。0,1と数えたら次は繰り上がって2桁の数字、10となります。つまり桁の繰り上がりが10進数は10ごと、2進数は2ごとになります。このように繰り上がりの対象となる数値を基数といいます。2進数で計算する仕組みは、例えば、プログラムで「4を2倍しなさい」と命令します。すると、CPUはまずメモリに記憶されている4(2進数の100)をCPU内部のアキュムレータという場所にコピーします。続いて、2倍ならばこのコピーした100を左に1回シフト(移動)し、あいた1桁目に0をつけた1000が計算結果になります。2進数の1000は10進数の8(4の2倍は8)になります。また、2分の1ならばアキュムレータに入れた数値を右に1回シフトしたものが結果となります。2進数の10は10進数の2(4の2分の1は2)になります。この計算方法は10進数にも当てはまります。例えば、250を左へ1回シフトして1桁目に0をつけると2500になり10倍した計算結果となります。このように左へ1回シフトすると基数(10進数では10)を1回掛けることになり、2回シフトすることは2回掛けることになります。つまりn回シフトすることはn回掛けることになります。2進数では基数が2なので左へ1回シフトすると2を掛けることになり、n回シフトすることは2をn回掛けることになります。そして、右へシフトすると10進数では10分の1、2進数では2分の1にすることとなります。パソコンは電気で働き、電気がオンかオフの組み合わせでデータを扱います。そこで、オンとオフを数字の0と1に置き換えた2進数で処理します。

2進数    10進数   16進数

00000    00     00

00001    01     01

00010    02     02

00011    03     03

00100    04     04

00101    05     05

00110    06     06

00111    07     07

01000    08     08

01001    09     09

01010    10     0A

01011    11     0B

01100    12     0C

01101    13     0D

01110    14     0E

01111    15     0F

10000    16     10