スライド 1

www.***.com
情報B
4.二進数による数値の表現
2進数による整数の表現
nビットなら2 n個の数を
区別できる。
例)3ビットなら0~7の
8個の数を表現可能。
情報B
(符号なし整数)
000
001
010
011
100
101
110
111
=
=
=
=
=
=
=
=
0
1
2
3
4
5
6
7
1
10進数→2進数
その前に10進数の意味を考えてみよう。
例) 571
情報B
10)
571
10)
10)
57
5
0
‥1
‥7
‥5
2
10進数→2進数
例) 57
111001
情報B
2)
2)
57
28
‥1
2)
2)
14
7
‥0
‥0
2)
2)
3
1
0
‥1
‥1
‥1
3
10進数→2進数
例題)
100
1100100
情報B
2)100
2)
2)
2)
2)
2)
2)
50
25
12
6
3
1
0
‥0
‥0
‥1
‥0
‥0
‥1
‥1
4
2進数→10進数
その前に10進数の意味を考えてみよう。
例) 571
=5×102
+7×101
+1×100
右端の桁は必ず
0乗の位
情報B
5
2進数→10進数
例)
111001
=1×25
+1×24
+1×23
+0×22
+0×21
+1×20
=32 + 16 + 8 + 0 + 0 + 1 = 57
例題) 10011
=1×24
+0×23
+0×22
+1×21
+1×20
=16 + 0 + 0 + 2 + 1 = 19
情報B
6
16進数
16個の数字(0,1,…,9,A,B,…,F)を用いてすべての数
値を表す。
10進数
2進数
16進数
10進数
2進数
16進数
0
0000
0
8
1000
8
1
0001
1
9
1001
9
2
0010
2
10
1010
A
3
0011
3
11
1011
B
4
0100
4
12
1100
C
5
0101
5
13
1101
D
6
0110
6
14
1110
E
7
0111
7
15
1111
F
16進数1桁=4bit(2進数4桁) の関係に留意すること!
情報B
7
10進数→16進数
例) 59
3 B
例題)47
2 F
情報B
16)
16)
59
3
0
‥11
‥
→
B
→
F
3
16) 47
16)
2 ‥15
0 ‥ 2
8
16進数→10進数
例)
3B
=3×161
B→11
+11×160
=4 8 + 1 1 = 59
例題)
47
=4×161
+7×160
=64 + 7 = 71
情報B
9
2進数→16進数
例)
1101101
0110
1101
右から4桁ずつに区切る
13 → D
6
6 D
例題)
101110
0010
2
情報B
1110
右から4桁ずつに区切る
14 → E
2 E
10
16進数→2進数
例)
A3
A → 10
10
3
1010 0011
例題)
3A
A → 10
3
10
0011 1010
情報B
→ 111010 でも可
11
2進数による符号付き整数の表現
nビットなら2 n個の数を
区別できる。
その内半数が負数
残りの半数が0と正数
100
101
110
111
000
001
010
011
=
=
=
=
=
=
=
=
-4
-3
-2
-1
0
1
2
3
例)3ビットなら-4~3
の8個の数を表現可能。
情報B
12
2進数による符号付き整数の表現
指定されたビット※の
左端が1なら負数、
0なら正数かもしくは0
※
情報B
符号付き整数の場合は
ビット(桁数)が必ず指定
される。
100
101
110
111
000
001
010
011
=
=
=
=
=
=
=
=
-4
-3
-2
-1
0
1
2
3
13
2進数による符号付き整数の表現
正数のみの場合
11101
=1×24 +1×23+1×22+0×21 +1×20
=16 + 8 + 4 + 0 + 1 = 29
正負の数(符号付き整数)の場合
11101
=-1 ×24 +1×23+1×22+0×21 +1×20
= - 16 + 8 + 4 + 0 + 1 = -3
情報B
14
2進数による符号付き整数の表現
2の補数表現による 101
(12ページ問題)
101
=-1 ×22 + 0×21 +1×20
= - 4 + 0 + 1 = -3
情報B
15
2進数による符号付き整数の表現
所定bitのすべての桁が0の場合 → 必ず0
00000
=0×24 +0×23 +0×22 +0×21 +0×20
=0 + 0 + 0 + 0 + 0 = 0
所定bitのすべての桁が1の場合 → 必ず-1
11111
=-1×24 +1×23 +1×22 +1×21 +1×20
= - 16 + 8 + 4 + 2 + 1 = -1
情報B
16
2進数による符号付き整数の表現
10進数の-3を4bitの2進数で表す
絶対値である+3 は 11
→ 4bitで表すと
0011
必ず何bitかが
指定される。
0と1を反転させると 1100
これに1を加えると
検算
1101
-1×23+ 1× 22 + 0 + 20
= -8 + 4 + 0 + 1 = -3
情報B
17
2進数による符号付き整数の表現
10進数→2進数変換の手順
1. 絶対値を2進数にする
2. 所定ビットに揃える
3. 1と0を反転させる
4. 1を加える
情報B
18
2進数による符号付き整数の表現
10進数の-9を6bitの2進数に (12ページ問題)
+9 は 1001
→ 6bitで表すと
001001
0と1を反転させると 110110
これに1を加えると
検算
110111
-1×25+24+0+22+21+20
= -32+16+0+4+2+1 = -9
情報B
19