Presentation is loading. Please wait.

Presentation is loading. Please wait.

第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる

Similar presentations


Presentation on theme: "第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる"— Presentation transcript:

1 第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
2のべき乗を、K, M, Gを使ってすぐに表せる 2の補数表現を説明できる 10進数⇔2の補数表現の変換ができる ユーザ名: tcu   パスワード: seto

2 数 非負 の整数 整数 正負 の整数 固定 小数点数 小数 浮動 小数点数 ディジタル回路内で使用される数の分類 0,1,2,3,...
本講義で学習  非負  の整数 0,1,2,3,... 符号 なし 整数 正負 の整数 ...,-2,-1,0,1,2,... 符号 つき 固定 小数点数 1.52 固定 小数 浮動 小数点数 1.52 移動

3 10進数、2進数、16進数 10進数 (decimal number) 日常的に使用している数 2進数 (binary number)
0~9 の10種類の数字 200810年 2進数 (binary number) コンピュータ、ディジタル回路の中で使用 0, 1の2種類の数字 (1 ... Hレベル, Lレベル) 年 (長くて,見にくい...) 16進数 (HEXadecimal number) 2進数を短く表示するために使用 0~9, A, B, C, D, E, Fの16種類の文字 7D816年

4 そもそも10進数って? (復習) 2008 =(2x103)+(0x102)+(0x101)+(8x100)
そもそも10進数って? (復習) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9の9個の数字を使用 2008 =(2x103)+(0x102)+(0x101)+(8x100) 1973 =(1x103)+(9x102)+(7x101)+(3x100) 10のべき乗で重み付け 1000の位 100の位 10の位 1の位

5 本日のテーマ - 2進数 ライプニッツが発明 ドイツの数学者、哲学者 微積分記号の提案 2進数の提案
本日のテーマ - 2進数 ライプニッツが発明 ドイツの数学者、哲学者 微積分記号の提案 2進数の提案 「全ての数を1と0によって表す驚くべき表記法」 (1692年)

6 符号無し2進数は、どんなものか? 0, 1の2種類の数字だけを使用 (0以上の数) 符号無し2進数の例 1101 = 1 x x x x      = = 1310 2のべき乗 8の位 4の位 2の位 1の位 最上位ビット MSB 最下位ビット LSB 10進数への変換: “10進数”を表す

7 では、符号無し2進数は、どんなものか? n個のビット列 an-1an-2...a0で以下の数を表す と決める
例: 3ビットの場合、 0 ~ 7 まで表せる

8 では、16進数は、どんなものか? 0, ..., 9, A, B, C, D, E, F の16種類の文字を使う
1AB= 1 x A x B x = = 42710 = = = = = = 10 11 12 13 14 15 16のべき乗 256の位 16の位 1の位 10進数への変換:

9 2進数 ⇔ 16進数の変換 (簡単) 7 5 C 11 1010 1011 2進数は長ったらしいので、16進数に変換することが多い
変換例1: を16進数に直せ 最下位ビット( 右 )から4ビットずつ区切り,変換 111 _ 0101 _ = 75C 変換例2: 3AB16を2進数に直せ 各数字を,2進数にして,つなげる A B = 7 5 C 11 1010 1011

10 10進数 16進数 2進数 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 符号無し数 の2進表現 のまとめ

11 + + 2進数の加算 (ディジタル回路で実行可能) 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10 (1繰上がり)
通常の数(10進数) と 全く同様の方法で、筆算できる 一桁分の加算 4ビットの加算 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10 (1繰上がり) 910 + 510 0 0 1 繰上がり 910 + 510 1410

12 0,1だけで “もの”を表す方法 (複数) nビットでは、最大 2n 通りの“もの”が表せる 3ビットだと,2×2×2 = 8 通り 例
0,1だけで “もの”を表す方法 (複数) nビットでは、最大 2n 通りの“もの”が表せる 3ビットだと,2×2×2 = 8 通り 000, 001, 010, 011, 100, 101, 110, 111 スイッチの状態 ( 1 ビット)  on: 1, off: 0 3色( 2 ビット) アルファベット 26文字 ( 5 ビット = 25 = 32 ) A: 00000, B: 00001, C: 00010, .... 01 10 11

13 0,1だけでどうやって数を表すのか? (1) 数も“もの”の一種 nビットでは、 最大2n個の“数”が表せる
3ビットの場合、 0, 1, 2, 3, 4, 5, 6, 7 (= 23 – 1 ) 4ビット: 最大 = ( ) 8ビット: 最大 = ( ) 「0」の分、 1引いている

14 よく出る 2nの値 (覚えておく) 任意の2nの簡単な計算法 2ab = 210 x a x 2b 計算例
1 2 4 3 8 16 5 32 6 64 7 128 256 9 512 65536 n 2n 呼び名 10 1,024 ≒ 103 K 20 1,048,576 ≒ 106 M 30 1,073,741,824 ≒ 109 G 40 1,099, 511,627,776 ≒ 1012 T 任意の2nの簡単な計算法 2ab = 210 x a x 2b 計算例 224 = 220 x 24 = 16M 232 = x 22 = 4G

15 a5 a4 a3 a2 a1 a0 10進数から2進数への変換 a0 a1 a2 a3 a4 a5 1 1 0 1 0 1
余り 2進数 2 53 26 13 6 3 1 ・・・ ・・・ a0 a1 a2 a3 a4 a5 1 最下位 ビット 最上位 ビット 2 2 a5 a4 a3 a2 a1 a0 2 2 2 必ず検算をする! (2進数→10進数)

16 符号つき2進数の表現法: 2の 補数表現 1 x -23 + 0 x 22 + 1 x 21 + 1 x 20
符号つき2進数の表現法: 2の 補数表現 以上では、符号なし( 0 か 正 )の2進数のみを考えた 負を含む,符号つきの数は、どうやって0,1で表すのか? nビット an-1an-2...a0の2の補数表現は,次の値を表す 最上位 ビットが1だと負で,0だと正(0) (符号ビット) 2の補数の例: 4ビットの2の補数 1011が表す値は? 1 x x x x 20 = = -5 マイナス(これが肝) 確かに負の数を表現できる

17 例:4ビットの2の補数表現 範囲:-8~7 最上位 ビットが 0だと非負, 1だと負
2進数 10進数 0000 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 -8 1001 -7 1010 -6 1011 -5 1100 -4 1101 -3 1110 -2 1111 -1 例:4ビットの2の補数表現 範囲:-8~7 最上位 ビットが  0だと非負, 1だと負 0000が「0」を表現するため, 負 数が,正 数より1個多い 負の数の最上位ビットは 「 1 」 符号 ビットと呼ぶ

18 2の補数の簡単な計算法 マイナス をつけることに相当 方法 反転して、1を足す 例: 01102(=610)の2の補数 0 1 1 0
10進数 2進数 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 -8 1000 -7 1001 -6 1010 -5 1011 -4 1100 -3 1101 -2 1110 -1 1111 2の補数の簡単な計算法 マイナス をつけることに相当 方法 反転して、1を足す 例: 01102(=610)の2の補数 2の補数の性質 数xの2の補数の、そのまた 2の補数は、xに戻る 610 反転 1を足す -610

19 10進数⇒2の補数表現 への変換方法の例 +6 -12 -1 (-12と同様の方法)
次の10進数を5ビットの2の補数表現(符号付き2進数)で表せ +6 6を符号無し2進数で表現:    110     5ビットに拡張するため,4,5ビット目に0を追加: 00110 -12 対応する正の値(12)を、5ビットの2の補数で表現: 01100 反転して1を足す: = -1 (-12と同様の方法) 1を、5ビットの2進数で表現: 00001 反転して1を足す: = 11111

20 2進数の注意点 例: 11112 符号無し2進数と見ると 符号付き2進数(4ビットの2の補数)と見ると
符号無しと見るか,符号付き(2の補数表現)と見るかで,符号ビットが1の場合に異なるので,どちらかを意識する 例: 11112 符号無し2進数と見ると 1 x x x x = = 15 符号付き2進数(4ビットの2の補数)と見ると 1 x x x x = = -1

21 ディジタル回路内部での,数値の表現法を学習 2進数
まとめ ディジタル回路内部での,数値の表現法を学習 2進数 符号無し2進数 (0以上の整数を表現. ) 符号付き2進数 (2の補数表現.正負の整数を表現) 2進数(符号付き/無し)、16進数、10進数の相互変換 中間試験の範囲 第1回~第6回までの講義内容,演習問題,宿題


Download ppt "第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる"

Similar presentations


Ads by Google