Transcript Document
平成26年10月10日
【応用課題1-1】
4A1×B:16進数
6
4A1
×
B
32 E B
A×B → (10進数)11×10=110
110=6×16+14 →(16進数) 6E
4×B+6 → (10進数)4×11+6=50
50 = 3×16+2→(16進数)32
【応用課題1-2】 10進数の632を16進数に変換してください。
278
16 ) 632
) 39 ・・・8
)
2 ・・・7
0 ・・・2
【応用課題1-3】16進数C3Fを8進数に変換してください
C
3
F
1100 0011 1111
110 000 111 111
6
0
7
7
【応用課題1-4】 10進数0.6875を2進数で表したものはどれか。
ア 0.1001
イ 0.1011
ウ 0.1101
エ 0.1111
【応用課題1-5】16進数2A.4Cと等しいものはどれか。
ア
25+23+21+2-2+2-5+2-6
イ
25+23+21+2-1+2-4+2-6
ウ
26+24+22+2-2+2-5+2-6
エ
26+24+22+2-1+2-4+2-5
【応用課題1-6】
次の計算は何進法で成立するか。
131-45=53
ア 6
イ 7
ウ 8
エ 9
11-5=3 となるには?
N+1-5=3 より
N=7
【応用課題1-7】10進数の分数1/32を16進数の小数で表したものはどれか。
ア
0.01
イ
【応用課題1-8】
たものはどれか。
0.02
ウ
0.05
エ
2進数の1.1011と1.1101を加算した結果を10進数で表し
131-45=53
ア
3.1
0.08
イ 3.375
ウ 3.5
エ 3.8
<学習内容>
1. 補数による負数の表現
2. 固定小数点表示
3. 浮動小数点表示
<目的>
コンピュータ内部における負数の表現方法を理解し、実数を
指示にしたがって、固定小数点表示および浮動小数点表示で
表現できるようになること。
補数とは
例1)10進数123の場合
10の補数:987
9の補数:876
例2)2進数101(3けた)の場合
2の補数:011
1の補数:010
123
+ 987
1000
101
+ 011
1000
123
+ 876
999
101
+ 010
111
<N進数の場合>
Nの補数:ある数に加えると一つけた上がりする最小の数
N-1の補数:ある数に加えるとそのけたの最大数となる数
負数の表現
例)2進数101(3けた)の負数は?
2の補数:011
101
+ 011
1000
3けたからあふれる!
→ 3けたの世界では0
3けたの世界では、011は-101と同じ働きをする。
101は5なので、011は-5となる。
コンピュータの内部では、2の補数を用いて負数を表現している(場合
が多い)。
2の補数の求め方
①
与えられた数の各ビットを反転させる。
②
それに1を加える。
例) 11011の2の補数は?
ビットを反転
→
00100
1を加える
→
00101
負数を求める練習
①
10進数-3を4けたの2進数で表現せよ(2の補数を用いる)。
3を2進数に変換
0011
2の補数は?
1100(ビット反転)
+ 1
1101
② 2の補数を用いて表現した2進数の負数110を10進数で表現せよ。
1を引く
ビット反転して1
を加えても同様!
110
- 1
101
ビット反転
101→(ビット反転)010
010→ 2
-2
けた数と正負が決まれば、一義的に表現できる。
例)2進数4ビットの場合(負数は2の補数を用いる)
1000 → -8 or 8
最上位ビットを次のように決める。
正または0の場合:0
負の場合:1
最上位ビットを負とする。
1100→-8+4=-4
表現できるのは-23~23-1
1001→-8+1=-7
10進数
2進数
7
0111
6
0110
5
0101
4
0100
3
0011
2
0010
1
0001
0
0000
-1
1111
-2
1110
-3
1101
-4
1100
-5
1011
-6
1010
-7
1001
-8
-8 or 8
1000
1000
小数を表すには、小数点の位置を決めなければならない。→
小数点を固定すると・・・
固定小数点表示
例)2進数8ビットの固定小数点表示
.
整数部
小数部
小数点(問題に応じて位置を固定する)
例題)10進数-5.125を8ビット固定小数点表示による2進数で表すとど
のようなビット列になるか。ここで、小数点の位置は、3ビット目と4
ビット目の間とし、負数は2の補数で表現する。
7
6
5
4
3
小数点
2
1
0
01010010 2の補数
5.125 → 101.001→0101.0010
反転 10101101
1を加える 10101110
絶対値
2進数
固定小数点表示では、表現できる数値の範囲が狭い。
大きな数(1000000000000000000など)や小さな数
(0.00000000000000000001など)を表すには・・・?
浮動小数点表示
仮数
Y=M×BE
例)10進数1.23の場合
1.23×100
12.3×10-1
0.123×101
基数
指数
指数の選び方で表現は
何通りもある。
正規化 仮数部と指数部を調節して、浮動小数点表示の表現を一義的
に定めること
例えば、0.xxxで表すと決めると1.23は次のように一義的に表現でき
る。
0.123×101
もう一つのメリット:数値の精度を保つことができる。
例)仮数部が7けたの場合、0.00001234567×105をそのまま表現すると・・・
仮数部:0000123 となる。→ 4以下が入らない
そこで、0.1234567×101と正規化すると・・・
仮数部:1234567 → 全てのけたを表現できる
例)32ビット表示の例
24ビット
1ビット 7ビット
仮数部の符号
(0:正、1:負)
指数部:2進数。
負数は2の補数で
表現。
仮数部:2進数。絶対値表現。
0.xxxとなるよう正規化
問題により異なる
例)10進数-6.25を表現すると・・・
① 負数なので符号ビットは1
1
② 6.25を2進数で表すと、110.01
→(正規化)0.11001×23
仮数部は左から順に入れて行き、残りのビットは0で埋める。
1
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
③ 指数部3は2進数7ビット表示では0000011
1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
指数部にバイアス値を用いる形式
例)32ビット表示の例
1ビット
8ビット
仮数部の符号
(0:正、1:負)
指数部:2進数。
+127する。バイア
ス値127
23ビット
仮数部:2進数。絶対値表現。
1.xxxとなるよう正規化
実際の指数+127とする。
常に正とするため。
問題により異なる
例)10進数-6.25を表現すると・・・
① 負数なので符号ビットは1
1
② 6.25を2進数で表すと、110.01
→(正規化)1.1001×22
仮数部は左から順に入れて行き、残りのビットは0で埋める。
1
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
③ 指数部2にバイアス127を加えた129を2進数8ビット表示で表すと
10000001
1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
【応用課題2-1】~【応用課題2-3】
本日(10月10日)17:00
【応用課題2-4】~【応用課題2-7】
10月13日(月)12:00