十六進法

提供: フリー百科事典『ウィキペディア(Wikipedia)』

十六進法(じゅうろくしんほう)とは、16(てい)とし、底およびそのを基準にして数を表す方法である。

目次

[編集] 記数法

十六進記数法とは、16 を底とする位取り記数法である。慣用に従い、通常のアラビア数字は十進法とし、十六進記数法の表記は括弧および下付の 16 で表す。慣例的に、十六進記数法で表された数を「十六進数」と呼ぶことがあるが、「p進数における p=16 のとき」という意味ではない。

一般には、0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F の 16 個の数字を用いる。A から F は、それぞれ十進での 10 から 15 を表す。(50)16 は 5×161 + 0×160 = 8010 を表す。同様に (B4)16 = 11×161 + 4×160 = 180 を意味する。

[編集] コンピュータの十六進法

コンピュータ ではビットオクテットを単位とすることが多い。 それぞれ二進法の 1 桁、8 桁で表現できるが、二進法より短く表記でき、かつ二進法の 4 桁と 1 桁が対応する十六進法がしばしば用いられる。 1 オクテットは、2 桁の十六進法表記 (0x00 ~ 0xff) で表現することができる。16-16進法と考えることができ、256進法の特殊な表現であるともいえる。

十六進法表記の 1 桁はニブルとも呼ばれる。

[編集] 表記方法

十六進法は非常によく使われるため、プログラミング言語ではリテラルとして特別な表記が準備されていることが多い。一般に、大文字の A-F と小文字の a-f を区別しない。 以下に (1000)16 の表記の例を挙げる。

読み方は文字並びのまま「ぜろエックスいちぜろぜろぜろ」などと読む。慣用では「ヘキサの千(せん)」もしくは「千(せん)ヘキサ」と言った読み方も行われているが、数学的には正しくない。

上記の数字に付く h や x は英語で十六進法を意味する hexadecimal から取ったものである。十六進法であることを明示し、b (二進法)、o (八進法)、d (十進法) などと区別するために用いる。

[編集] 二・八・十進法との対応

(0)16 = (0)10 = (0)8 0 0 0 0
(1)16 = (1)10 = (1)8 0 0 0 1
(2)16 = (2)10 = (2)8 0 0 1 0
(3)16 = (3)10 = (3)8 0 0 1 1
(4)16 = (4)10 = (4)8 0 1 0 0
(5)16 = (5)10 = (5)8 0 1 0 1
(6)16 = (6)10 = (6)8 0 1 1 0
(7)16 = (7)10 = (7)8 0 1 1 1
(8)16 = (8)10 = (10)8 1 0 0 0
(9)16 = (9)10 = (11)8 1 0 0 1
(A)16 = (10)10 = (12)8 1 0 1 0
(B)16 = (11)10 = (13)8 1 0 1 1
(C)16 = (12)10 = (14)8 1 1 0 0
(D)16 = (13)10 = (15)8 1 1 0 1
(E)16 = (14)10 = (16)8 1 1 1 0
(F)16 = (15)10 = (17)8 1 1 1 1

[編集] 二進法表記から十六進法表記への変換

二進法表記から十六進法表記へ変換する方法を以下に示す。

[編集] 整数部分

  1. まずは二進法表記を右から順に 4 桁ずつ区切っていく。もし 4 桁未満であれば、空いた部分(左側)には全て 0 があると見なす。
    • (11010)2 → (1, 1010)2 → (0001, 1010)2
  2. 各二進 4桁の数を 十六進の読みに変換する。
    • (0001)2 = (1)16, (1010)2 = (A)16
  3. 得られた十六進法表記を並べて (1A)16 が得られる。

この方法は何桁であっても通用する。例えば、(100110010111010)2 は (0100, 1100, 1011, 1010)2 であるから (4CBA)16 となる。

[編集] 小数部分

ここでは、0 以上 1 未満の小数部分の変換方法について説明する。

  1. まずは二進法表記を小数点を基準に左から順に 4 桁ずつ区切っていく。もし 4 桁未満であれば、空いた部分(右側)には全て 0 があると見なす。
    • (0.11)2 → (0., 1100)2
  2. 続いて、各組を十六進法表記に変換する。
    • (1100)2 = (C)16
  3. 得られた十六進法表記を並べて (0.C)16 が得られる。

[編集] 乗算表

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

[編集] 単位系

単位系の十六進法では、数は十進法を用いて表記し、16 に至ると単位を繰り上げる方法を採る。

ヤード・ポンド法では、質量の単位に十六進法が用いられる。

[編集] 関連項目