16進法について

スポンサーリンク

2進法からの16進法への発展

2進法でコンピュータの扱う数字を表現していると不都合が生じます。同じ値を10進法と2進法で表現すると以下の通り2進法のほうがたくさん桁が必要になります。

10進法 2進法
100 110 0100
1000 11 1110 1000
10000 10 0111 0001 0000

16進法はこの問題を解決するために導入されて今でも一般的に使われています。16進法は英語でhexadecimalと呼び、もとは「16の」を意味するギリシア語です。

2進法の4桁をひとまとめにする

2進法の4つの桁で表現できるのは24=16種類の値になります。0から数えるので15までです。16になると左側の位を追加して10と表記することになります。

ただここで困ったことがでてきます。10進法の10をそのまま10と表記すると16進法でいう10つまり16と見分けがつかなくなります。15までは1桁、16で2桁と表現したいのです。ここで新しい数字を導入することになりました。10〜15にA〜Fのアルファベットを数字として割り振ることにしたのです。以下0〜16までの10進法、2進法、16進法での表記を見てましょう。

10進法 2進法 16進法
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10

このようにすると2進法ではたくさんの桁が必要であったのに少ない桁でより大きな数が表現できます。16進法では2桁めは「16の位」、3桁目は「256の位」となり、以降16をかけていったものになります。

上の表に16進法を追加してみましょう。

10進法 2進法 16進法
100 110 0100 64
1000 11 1110 1000 3E8
10000 10 0111 0001 0000 2710

16進法の例

コンピュータでよく目にしやすい16進法の使用例として色指定があります。HTMLでの色指定は頭に#をつけた6桁の16進数で指定できます。6桁といっても実際は2桁ずつ3つに分けてそれぞれがRGBつまり赤、緑、青の指定になります。2桁の16進数なので表せる範囲は00〜FF、10進法でいうと0〜255までとなります。00が暗くFFが明るい意味になりますから黒は#000000となり白は#FFFFFFとなります。以下指定の値と色を見てみましょう

 色指定 出力色 説明
#000000 なにも出力なし
#FFFFFF 最大出力
#FF0000 赤だけ最大
#00FF00 緑だけ最大
#0000FF 青だけ最大
#FFFF00 赤と緑を最大
#FF00FF 赤と青を最大
#00FFFF 緑と青を最大
#808080 赤緑青すべてで半分の出力
#800000 赤だけ半分の出力
#008000 緑だけ半分の出力
#000080 青だけ半分の出力
#808000 赤と緑を半分の出力
#800080 赤と青を半分の出力
#008080 緑と青を半分の出力
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。