• 検索結果がありません。

2進数の計算(1)

N/A
N/A
Protected

Academic year: 2021

シェア "2進数の計算(1)"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

コンピュータ科学 III

担当:武田敦志 <[email protected]>

(2)

今日の話

整数・小数の表現 2進数の計算

加算・乗算・除算 2の補数表現

コンピュータにおける小数の表現 浮動小数点数

2進数の減算

(3)

2進数の計算(1)

計算問題 – 加算

(1) 197 + 246 (2) 1011012 + 11011102

(3) 2時間42分 + 1時間56分 2 4 6

1 9 7

4 4 3

1 1 0 1 1 1 0 1 0 1 1 0 1

1 0 0 1 1 0 1 1

1 時間 56 分 2 時間 42 分

4 時間 38 分

(4)

2進数の計算(2)

10進数の加算 (1) 197 + 246

2 4 6 1 9 7

13

2 4 6 1 9 7

14 3

2 4 6 1 9 7

4 4 3

1 1

13÷10の商

13÷10の余り

14÷10の商

14÷10の余り

(5)

2進数の計算(3)

60進数の加算

(3) 2時間42分 + 1時間56分

1 時間 56 分 2 時間 42 分

98 分

98÷60の商

98÷60の余り 1 時間 56 分 2 時間 42 分

4 時間 38 分 1 時間

(6)

2進数の計算(4)

2進数の加算

(2) 1011012 + 11011102

2÷2の商

2÷2の余り 1 1 0 1 1 1 0

1 0 1 1 0 1

2 1 1

1 1 0 1 1 1 0 1 0 1 1 0 1

3 0 1 1 1

1 1 0 1 1 1 0 1 0 1 1 0 1

1 1 0 1 1 1

1 1 0 1 1 1 0 1 0 1 1 0 1

1 0 0 1 1 0 1 1

(7)

2進数の計算(5)

加算・乗算・除算

計算方法は10進数の計算方法と同じ

基数が変わっても計算方法は変わらない

2 7 4 6

×

3 2 2 9 2 1 2 4 2

1 0 6 4

2 6 8 2 6 2 4 2

乗算:46 × 27 除算:106 ÷ 4

(8)

2進数の計算(6)

計算問題 – 乗算・除算 次の式を計算せよ

1 0 1 1 1 0 1 1 0

× 1 0 1 1 1 0 1 0

(1) 101102 × 10112 (2) 110102 ÷ 1012

1 0 1 1 0 1 0 1 1 0 1 0 1 1 0

1 1 1 1 0 0 1 0

0 0 1 0 1 1 0 1 1 1 0 1 0 1 1

(9)

2の補数表現(1)

コンピュータにおける除算 加算回路を使って除算する

35 – 13 = 22

正の整数を除算 負の整数を加算 35 + (-13) = 22

負の整数をどのように表現するか?

コンピュータにおける負数の表現方法=2の補数表現

(10)

2の補数表現(2)

2の補数表現の考え方 (1) 桁数を設定

円形の数直線ができる

(2) 負数の領域を設定

数値の大きい領域に対し 逆方向に負数を割り振る

10進数 2桁の場合

0 1 2 99 3

98

50

75 25 10進数

2桁の場合 0 1 2 -1 3

-2

-50 -25 25

49 -49

(11)

2の補数表現(3)

負の数の割り当て

2進数8ビットの場合の数直線

2進数 8bitの場合 111111112

-1

000000002 111111102

000000012

000000102

0 1

-2 2

-127 127

-128

(12)

2の補数表現(4)

加算回路を用いて計算する 2の補数表現を使った除算

7 - 5 = 2 7 + (-5) = 2 0 0 0 0 0 1 1 1

+) 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 最後の繰り上がりは

結果から消える

10進数 2桁の場合

0 1 2 3 -2 -1

-50 -25 25

49 -49

-4-3 -5

+7

(13)

2の補数表現(5)

10進数2桁の場合

負数表現の計算方法

表現 = 100 – 値の絶対値

値 表現

-3 97 -2 98 -1 99 0 00 1 01 2 02

2進数8bitの場合

表現 = 1000000002 – 値の絶対値

値 表現

-3 111111012 -2 111111102 -1 111111112 0 000000002 1 000000012 2 000000102

(例: 97 = 100 – 03) (例: 11111101 = 100000000 – 00000011 )

(14)

2の補数表現(6)

10進数2桁の場合

負数表現の計算方法(繰り下がりなし)

2進数8bitの場合

負数表現 = 1000000002 – 値の絶対値

= 111111112 – 値の絶対値 + 1

(例: 97 = 99 – 03 + 1)

(例: 111111012 = 111111112 – 000000112 + 00000001)

負数表現 = 100 – 値の絶対値

= 99 – 値の絶対値 + 1

ビットの反転で計算できる

(15)

2の補数表現(7)

2の補数表現を使った減算

負数表現は「ビットの反転」と「加算」で計算できる 減算 =「正の整数」と「負の整数」の加算

2の補数表現を使った(2進数の)減算は 加算回路のみを用いて計算することができる

加算回路があれば、四則演算のすべてが可能

(16)

2の補数表現(8)

演習問題

0 0 0 1 0 0 0 1 +) 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 910 = 0 0 0 0 1 0 0 12 -910 = 1 1 1 1 0 1 1 12

『-9』を2の補数表現(2進数8bit)で示せ

『17 + (-9)』 を2の補数表現(2進数8bit)を使って計算せよ

(17)

コンピュータにおける小数の表現(1)

仮数と指数を使って数値を表現することができる 仮数と指数

例:光の速さ(秒速約30万km)

300,000,000 m/s

3.0 × 10

8

m/s

仮数 指数

(18)

コンピュータにおける小数の表現(2)

コンピュータでは、小数を仮数+指数で表現する 浮動小数点数

例:35.375

100011.011

2

1.00011011

2

× 2

5

仮数の小数点以下 指数

01000010000011011000000000000000

単精度 浮動小数点数(float)

指数+127 仮数の小数点以下

(19)

まとめ

コンピュータにおける数値の表現と計算 2の補数表現

加算回路のみで計算できる 桁数が固定になる

浮動点小数

仮数と指数で表現する

仮数部と指数部の長さは固定

このデータ表現を考慮して計算しなくてはならない

参照

関連したドキュメント

Wach 加群のモジュライを考えることでクリスタリン表現の局所普遍変形環を構 成し, 最後に一章の計算結果を用いて, 中間重みクリスタリン表現の局所普遍変形

チューリング機械の原論文 [14]

(問5-3)検体検査管理加算に係る機能評価係数Ⅰは検体検査を実施していない月も医療機関別係数に合算することができる か。

⑥ニューマチックケーソン 職種 設計計画 設計計算 設計図 数量計算 照査 報告書作成 合計.. 設計計画 設計計算 設計図 数量計算

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船