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

Slides:



Advertisements
Similar presentations
2009/11/10 10 進数と r 進数を相互に変換できる コンピュータのための数を表現できる 2進数の補数を扱える コンピュータにおける負の数の表現を説明で きる コンピュータでの演算方法を説明できる 文字や記号の表現方法を示せる 第7回 今日の目標 § 2.2 数の表現と文字コード.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
7章 情報の表現と基礎理論. 数の表現(書き方) 「数」と「数の書き方」をわけて考える 「数の書き方」と,「数そのものの性質」は別のもの 例:13 は素数・・・”13”という書き方とは無関係 ここでは書き方(表現方法)について考える 567.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
10進数 Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 例: 3271 = (3×103) + (2×102) + (7×101) + (1×100) 8進数 Digits: 0, 1, 2, 3, 4, 5, 6, 7 例: 3271 = (3×83) + (2×82)
第3回 論理式と論理代数 本講義のホームページ:
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
第12回 順序回路の解析方法 瀬戸 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表
コンパイラ 2011年10月17日
プログラミング基礎I(再) 山元進.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第7回 データの基本型 情報・知能工学系 山本一公
情報工学基礎(改訂版) 岡崎裕之.
第2回 真理値表,基本ゲート, 組合せ回路の設計
数学の予備知識 ネットワークシステムⅠ 第2回.
ネットワークシステムⅠ ネットワークシステム 第2回
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
情報のディジタル化 情報量の単位(bit) 文字 数値 アナログ情報.
コンピュータリテラシー 広島工業大学 知的情報システム工学科 張 暁華 2003年.
統計学 11/08(木) 鈴木智也.
第4回 カルノー図による組合せ回路の簡単化 瀬戸 目標 ・AND-OR二段回路の実現コスト(面積、遅延)が出せる
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
2進数・16進数.
補数 n:桁数、b:基数 bの補数 bn-x 253(10進数)の10の補数は、 =747
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
コンパイラ 2012年10月15日
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
Q q 情報セキュリティ 第3回:2005年4月28日(金) q q.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
プログラミング応用 printfと変数.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
第4回 コンピューティングの要素と構成 平成22年5月10日(月)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第3章 演算装置.
すべてのレポートの提出期限 1月22日 火曜日 これ以降は特殊な理由が無い限り レポートを受け取りません!
計算機構成 第2回 ALUと組み合わせ回路の記述
4点FFT設計 ファイヤー和田 知久 琉球大学・工学部・情報工学科 教授
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
情報処理Ⅱ 第2回:2003年10月14日(火).
プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌.
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
東京工科大学 コンピュータサイエンス学部 亀田弘之
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
データの表現 2進数 0と1を使う。 基数(基準になる数)が2. 101(2) かっこで2進数と示すことがある。
10進数と2進数、情報の量 Copyright(C)2004 Yoshihiro Sato & Tsutomu Ohara
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
9. 演算回路 五島 正裕.
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
情報処理Ⅱ 2006年11月24日(金).
~sumii/class/proenb2009/ml6/
情報処理Ⅱ 2005年10月28日(金).
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 数値計算における計算精度と誤差
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
情報処理Ⅱ 第2回 2004年10月12日(火).
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
香川大学創造工学部 富永浩之 情報数学1 第3-3章 多進法での四則演算 香川大学創造工学部 富永浩之
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

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

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

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

そもそも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の位

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

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

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

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

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

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進表現 のまとめ

+ + 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繰上がり) 1 0 0 1 910 + 0 1 0 1 510 0 0 1 繰上がり 1 0 0 1 910 + 0 1 0 1 510 1 1 1 0 1410

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

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

よく出る 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 = 230 x 22 = 4G

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 1 1 0 1 0 1 2 2 必ず検算をする! (2進数→10進数)

符号つき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 -23 + 0 x 22 + 1 x 21 + 1 x 20 = -8 + 0 + 2 + 1 = -5 マイナス(これが肝) 確かに負の数を表現できる

例: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 」 符号 ビットと呼ぶ

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に戻る 0 1 1 0 610 反転 1 0 0 1 1を足す 1 0 1 0 -610

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を足す: 10011 + 1 = 10100 -1 (-12と同様の方法) 1を、5ビットの2進数で表現: 00001 反転して1を足す: 11110+1 = 11111

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

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