CANADA'S WINDVIEW

趣味の写真を投稿していきます。昆虫好きな長男と一緒に昆虫を追いかけています。最初の年はセミやカマキリ、次の年はカブトムシ、トンボ、そして今年は…

n進法

カテゴリー[ 昆虫| 田園| | | 数学・幾何学| 寺院| | 祭り| 鉄道| | 風力発電]

 

我々は普段 0 9の数字を用いて10進法で表現・計算していますが、コンピュータは0と1を用いて2進法で計算しています(結果は10進法に変換して表示します)。また、ウェブサイトの色表現は16進法使用していたりします。古代マヤ文明では20進法を使用していたそうです。
このようなn進法では 0から始まり n-1の文字を用いて nまで行くと次の桁に上がります。
具体的には、10進法の  0 1 2 3 4 5 6 7 8 9 10 11,… は、2進法では、 0_{(2)} 1_{(2)} 10_{(2)} 11_{(2)} 100_{(2)} 101_{(2)} 110_{(2)} 111_{(2)} 1000_{(2)} 1001_{(2)} 1010_{(2)} 1011_{(2)},… と表現できます。

 

演習

2進数から10進数への変換

 101_{(2)} = 2^{2} \cdot 1 + 2^{0} \cdot 1 = 4 + 1 = 5

 

 1100_{(2)} = 2^{3} \cdot 1 + 2^{2} \cdot 1 = 8 + 4 = 12

 

 10111_{(2)} = 2^{4} \cdot 1 + 2^{3} \cdot 0 + 2^{2} \cdot  1 + 2^{1} \cdot  1 + 2^{0} \cdot  1 = 16 + 4 + 2 + 1 = 23

 

2進数の和

2進数のまま四則演算を行うことができます。

 101_{(2)} + 1100_{(2)} = 10001_{(2)} =  2^{4} \cdot  1 + 2^{0} \cdot  1 = 16 + 1 = 17

 

2進数の差

 1100_{(2)} - 101_{(2)} = 111_{(2)} =  2^{2} \cdot 1 + 2^{1} \cdot 1 + 2^{0} \cdot  1 = 4 + 2 + 1 = 7

 

2進数の乗法

10進法と同様に筆算で行えば良いです。

 111_{(2)} \times 11_{(2)} = 10101_{(2)} = 2^{4} \cdot 1 + 2^{2} \cdot 1 + 2^{0} \cdot 1 = 21

 

10進数から2進数への変換

 99 を2進数へ変換することを考えます。
 99から取れる最大の 2^mは、 m = 6 2^6 = 64 です。
次に 99 - 64 = 35 から取れる最大の 2^mは、 m=5 2^5=32 です。
更に 35-32=3 から取れる最大の 2^m は、 m=1 2^1=2 です。
 3-2=1 から取れる最大の 2^m は、 m=0 2^0=1です。
以上より、

 99 = 2^6 \cdot 1 + 2^5 \cdot 1 + 2^1 \cdot 1 + 2^1 \cdot 1

であり、求める2進数は  1100011_{(2)} となります。

 2^6  2^5  2^4  2^3  2^2  2^1  2^0
 \large 1  \large 1  \large 0  \large 0  \large 0  \large 1  \large 1

 

 

16進数から10進数への変換

コンピュータ上で色を表現する場合、RGB(赤緑青)の3色の濃淡で表しますが各色0~255の256階調で扱うことが多いです。

 

 ff_{(16)} = 16^1 \cdot 15 + 16^0 \cdot 15 = 255


 c9_{(16)} = 16^1 \cdot 12 + 16^0 \cdot 9 = 201

 

 23_{(16)} = 16^1 \cdot 2 + 16^0 \cdot 3 = 35

 

 00_{(16)} = 16^1 \cdot 0 + 16^0 \cdot 0 = 0