スライド3(4/19更新)

2015/4/19
情報数学
4. 16進法について
4.1 何故,16進法が必要か?
中山クラス
◆ディジタルシステムは基本的は2進法
トランジスタの動作に基づくシステムでは数値は1,0で
表現される.HDDやCDなどにおけるデータも1,0で
表現される.
水曜日1限,2限
講義資料3
◆2進法では桁数が長くなるという問題ある.
プログラム等における数値表現として,2進法の4桁(4
ビット)をまとめて16進法として表現する方法が用いら
れている.
・16進法について
・16進法と他のn進法との変換
1
4.2 16進法の表現
2
4.3 16進法の具体例
𝑑2 𝑑1 𝑑0 . 𝑑−1 𝑑−2(16) = 𝑑2 × 162 + 𝑑1 × 161 + 𝑑0 × 160
+𝑑−1 × 16−1 + 𝑑−2 × 16−2
0 ≤ 𝑑𝑖 ≤ 16 − 1 = 15
◇ 𝑑𝑖 の表現
0 ≤ 𝑑𝑖 ≤ 15であるが,𝑑𝑖 は1桁の数値であるので,次の
ような表記を用いる.
𝑑𝑖 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹
𝐴 = 10 10 , 𝐵 = 11 10 , 𝐶 = 12 10
𝐷 = 13 10 , 𝐸 = 14 10 , 𝐹 = 15 10
数値例(1)
7𝐵3.2(16) = 7 × 162 + 11 × 161 + 3 × 160 + 2 × 16−1
= 7 × 256 + 11 × 16 + 3 × 1 + 2 × 0.0625
= 1971.125(10)
数値例(2)
3𝐷
16
= 3 × 161 + 13 × 160 = 61
10 ∼ 15は10進法では2桁の数値であるが,16進法では
1桁の数値として扱われる.
3
10
4
(例題) 10進法 → 16進法
1234 10 → 𝑑𝑑𝑑 16
4.4 16進法と10進法の変換
◇16進法→10進法
4.3を参照
16
16
◇10進法→16進法
3を参照
次頁に例題を示す.
1234
1234
77
4
10
1234 = 16 × 77 + 2(𝐿𝑆𝐵)
2
77 = 16 × 4 + 13(𝐷)
4 = (𝑀𝑆𝐵)
13(𝐷) = 4𝐷2
16
(検証)
4 × 162 + 13 × 16 + 2 × 160 = 1234
5
10
6
1
2015/4/19
練習問題(1)
4.5 16進法と2進法の変換
◇ 2進法では4ビット(桁)を使って0 ∼ 15を表現できる
ので,2進法の4桁が16進法の1桁に対応する.
1. 10進法で表された次の数値を16進法で表せ.
𝑎
𝑏
5392 10
1293 10
0000
0001
0010
0011
0100
0101
0110
0111
2. 16進法で表された次の数値を10進法で表せ.
𝑎
𝑏
4𝐴3 16
𝐸2𝐷 16
2
2
2
2
2
2
2
2
=0
=1
=2
=3
=4
=5
=6
=7
10
10
10
10
10
10
10
10
=0
=1
=2
=3
=4
=5
=6
=7
16
16
16
16
16
16
16
16
1000
1001
1010
1011
1100
1101
1110
1111
2
2
2
2
2
2
2
2
= 8 10 = 8 16
= 9 10 = 9 16
= 10 10 = 𝐴 16
= 11 10 = 𝐵 16
= 12 10 = 𝐶 16
= 13 10 = 𝐷 16
= 14 10 = 𝐸 16
= 15 10 = 𝐹 16
7
8
練習問題(2)
例題
𝑎
𝑏
𝑐
5𝐷2𝐹
16
= 0101 1101 0010 1111
= 0101110100101111 2
110110011010 2
= 1101 1001 1010
101011 2 = 0010 1011
2
2
1. 16進法で表された次の数値を2進法で表せ.
2
𝑎
𝑏
= 𝐷9𝐴
16
= 2𝐵
16
𝐴2𝐷 16
3𝐹8 16
2. 2進法で表された次の数値を16進法で表せ.
 2進法の桁数が4の倍数でない場合は,最下位から4
桁毎にグループ化し,最上位のグループでは上位の
桁に0を挿入して4桁とする.
9
𝑎
𝑏
10101001 2
1100100111
2
10
2