CPUをつくろう -2進数と16進数編2-

16進数の必要性

コンピュータは数を0と1のみの2進数で表現する。この2進数、人間にとっては弱点がある。桁数が多くなると何が書いてあるか分かりづらいのだ。例えは0b01100011、これはぱっとみて全体の桁数も分かりづらいし、どの桁が1でどの桁が0かもとても見づらい。

そこで人間が理解し易いように16進数を用いる。

16進数

16進数とは、16から1を引いた数”15”で桁上がりをする数の表現方法である。1から15までを1桁で表現するのだが、残念ながら10以降を1桁で表現できる数字は無い。よって10〜15をアルファベットのA〜Fで表す。10進数、2進数、16進数の対比を示す。

10進数2進数16進数
000
111
2102
3113
41004
51015
61106
71117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

ここでも16進数は10を”イチゼロ”と言い、1Bは”イチビー”と言う。

2進数と同様に、これが16進数表記だと分かるように頭に”0x”をつけ、0x10や0x1Bという様に記述する。

2進数は4bit毎に間を開けて書いておくと16進数に変換するときに見やすくなる。2進数4bit分で16進数1桁になるからだ。

2進数を4bit毎に区切り、4bitづつ16進数に変換していけば16進数表記になる。0b0000 0000は0x00、0b0110 1100は0x6Cとなる。

16進数を使えば少ない桁数で2進数を表現できるため、数の把握が容易になる。

コメントする