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)

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回) 埼玉大学 理工学研究科 堀山 貴史
『基礎理論』 (C)Copyright, Toshiomi KOBAYASHI,
1 正の数・負の数 2章 正の数・負の数の計算 §1 正の数・負の数の加法    ・減法  (8時間)
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第7回 データの基本型 情報・知能工学系 山本一公
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
今日の予定 1.ガイダンスプリントの説明    C言語実習の説明 2.情報系資格の紹介 3.情報の基礎    2進数と16進数.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
プログラミング言語論 プログラミング言語論 プログラミング言語論 演習1 解答と解説 演習1解答と解説 1 1.
条件式 (Conditional Expressions)
本時の目標 正の数・負の数の加法と減法の混じった計算のしかたを理解し、その計算ができるようにする。
補数 n:桁数、b:基数 bの補数 bn-x 253(10進数)の10の補数は、 =747
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
プログラミング演習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章 演算装置.
計算機構成 第2回 ALUと組み合わせ回路の記述
4点FFT設計 ファイヤー和田 知久 琉球大学・工学部・情報工学科 教授
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
情報処理Ⅱ 第2回:2003年10月14日(火).
プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌.
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
論理回路 第12回
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
データの表現 2進数 0と1を使う。 基数(基準になる数)が2. 101(2) かっこで2進数と示すことがある。
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語 1.
PROGRAMMING IN HASKELL
本時の目標 正の数・負の数の加法の計算のしかたについて理解し、その計算ができるようにする。
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
情報処理Ⅱ 2006年11月24日(金).
情報処理Ⅱ 2005年10月28日(金).
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
PROGRAMMING IN HASKELL
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 数値計算における計算精度と誤差
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
PROGRAMMING IN HASKELL
情報処理Ⅱ 第2回 2004年10月12日(火).
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
香川大学創造工学部 富永浩之 情報数学1 第3-3章 多進法での四則演算 香川大学創造工学部 富永浩之
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
Presentation transcript:

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) + (7×81) + (1×80)

2進数 bnbn-1…b2b1b0= bn 2n + bn-1 2n-1+…+ b2 22 + b121 + b020 0101010 = 0×26 + 1×25 + 0×24 + 1×23 + 0×22 + 1×21 + 0×20 = 32+8+2 = 42 10進 2進 16進 8進 0 0000 0 00 1 0001 1 01 2 0010 2 02 3 0011 3 03 4 0100 4 04 5 0101 5 05 6 0110 6 06 7 0111 7 07 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17 2進:1ビットで1桁 8進:3ビットで1桁 16進:4ビットで1桁 240 1099511627776 T(テラ)ほぼ1012 232 4294967296 230 1073741824 G(ギガ)ほぼ109 224 16777216 220 1048576 M(メガ)ほぼ106 216 65536 64K 210 1024 K(キロ)ほぼ103 28 256 1バイトで表現できるもの 24 16

負の数の表し方 (1)補数表示: two’s complement 2の補数、先頭ビットだけが負 (2)絶対値表示:signed magnitude 先頭ビットが符号で残りが絶対値 (3)反転表示: one's complemnet xのビットを反転したものが「-x」 (4)下駄履き表示:biased representation 「x+下駄」の形  符号なし数 (1) (2) (3) (4) nビットの場合: 0 0000 0 0 0 -8 先頭のビットの値をsとし 1 0001 1 1 1 -7 それ以降のビットが表す値 2 0010 2 2 2 -6 をxとしたとき、 3 0011 3 3 3 -5 (1)の値は 4 0100 4 4 4 -4 -2n-1s+x = (-2n+2n-1)s+x 5 0101 5 5 5 -3      = -2ns+(2n-1s+x) 6 0110 6 6 6 -2 (2)の値は 7 0111 7 7 7 -1   (-1)sx 8 1000 -8 -0 -7 0 (3)の値は((1)との差はs) 9 1001 -7 -1 -6 1   -2n-1s+x+s 10 1010 -6 -2 -5 2 (4)の値は(2n-1が下駄) 11 1011 -5 -3 -4 3   2n-1s+x-2n-1 12 1100 -4 -4 -3 4 13 1101 -3 -5 -2 5 (1)〜(3)の場合、先頭の 14 1110 -2 -6 -1 6 ビットは「符号ビット」 15 1111 -1 -7 -0 7 (4)の場合符号なし数と同順

補数表示(1) xの「2の補数」(xと足して2nになるもの:nビットの世界では2nはゼロ) を「-x」とする。 たとえば、4ビットの場合、 24=16で 13は3と足すと16になるから「-3」とする。(3の「16の補数」は13 ) 13 ≡ -3 (mod 16) mod 2nで-x(x < 2n-1)となるものを-xとする xから-x(補数表示)を求める場合は (1)2n-xを計算する   4ビットで0011なら、10000-0011=1101 (2)xの全ビットを反転して、1を加える(xとそれを反転したものを加      えると補数表示としては-1となるから、1足りない)   4ビットで0011なら、反転して1100、それに1加えて1101   

nビットの補数表示の値をmビット(n<m)の補数表示 にする場合は符号ビットを左に延ばせばよい(符号拡張) 補数表示(2) nビットの補数表示で表現できる値は - 2n-1 ~ 2n-1 -1 8ビットでは27=128であるから -128 ~ 127 nビットの補数表示の値をmビット(n<m)の補数表示 にする場合は符号ビットを左に延ばせばよい(符号拡張) たとえば、4ビットの -310=11012 は8ビットでは 111111012       4ビットの 310=00112 は8ビットでは 000000112 32ビットの場合 0111 1111 1111 1111 1111 1111 1111 11102 = 2,147,483,64610 0111 1111 1111 1111 1111 1111 1111 11112 = 2,147,483,64710=231-1 1000 0000 0000 0000 0000 0000 0000 00002 = -2,147,483,64810=-231 1000 0000 0000 0000 0000 0000 0000 00012 = -2,147,483,64710 1111 1111 1111 1111 1111 1111 1111 11012 = -310 1111 1111 1111 1111 1111 1111 1111 11102 = -210 1111 1111 1111 1111 1111 1111 1111 11112 = -110

(x)10 = (bnbn-1…b2b1b0)2= bn 2n + bn-1 2n-1+…+ b2 22 + b121 + b020 10進整数の2進整数への変換 (x)10 = (bnbn-1…b2b1b0)2= bn 2n + bn-1 2n-1+…+ b2 22 + b121 + b020 x/2 = (bnbn-1…b2b1)2= bn 2n-1 + bn-1 2n-2+…+ b2 21 + b120 x%2 = b0 (x/2)/2 = (bnbn-1…b2)2= bn 2n-2 + bn-1 2n-3+…+ b2 20 (x/2) %2 = b1 ((x/2)/2) %2 = b2 … 余り 2) 42 0 2) 21 1 2) 10 0 5 1 2) 2 0 2) 1 1 4210 = 1010102 128,64,32,16,8,4,2,1 の和で42になる ものを探せば、 32+8+2=25+23+21

10進小数の2進小数への変換 (0.x)10 = (0.b1b2b3b4…)2= b1 2-1 + b2 2-2+ b3 2-3 + b4 2-4 … x×2 = (b1.b2b3b4…)2= b1 + b2 2-1+ b3 2-2 + b4 2-3 … (x×2 - b1 ) ×2 = (b2 . b3b4…)2 = b2 + b3 2-1+ b4 2-2 … ((x×2 - b1 ) ×2 - b2 ) ×2 = (b3 . b4…)2 = b3 + b4 2-1… … 0.562510 = (0.b1b2b3b4…)2 0.5625×2 =1.1250 = (b1.b2b3b4…)2 0.125×2 =0.250 = (b2.b3b4…)2 0.25×2 =0.50 = (b3.b4…)2 0.5×2 =1.0 = (b4.b5…)2 0.562510 = 0.10012

. . 10進小数は2進小数としては正確に表現できないものがある。 たとえば、 10進小数の0.1は2進小数としては循環小数 0.110 = (0.b1b2b3b4…)2 0.1×2 =0.2 = (b1.b2b3b4…)2 0.2×2 =0.4 = (b2.b3b4…)2 0.4×2 =0.8 = (b3.b4…)2 0.8×2 =1.6 = (b4.b5…)2 0.6×2 =1.2 = (b5.b6…)2 0.2×2 =0.4 = (b6.b7…)2 0.4×2 =0.8 = (b7.b8…)2 … 0.110 = (0.00011001100…)2 = (0.00011)2 . . 循環小数

減算は補数の加算として実行される(3-5=3+(-5), 3-(-5)=3+5) 2進数の加減算 減算は補数の加算として実行される(3-5=3+(-5), 3-(-5)=3+5) 3+4=7 3+5=? 3+-5=-2 3+-2=1 0011 0011 0011 0011 +0100 +0101 +1011 +1110 0111 1000 1110 10001 -3+-4=-7 -3+-5 -3+-6=? 1101 1101 1101 +1100 +1011 +1010 11001 11000 10111 ・左端のビットから繰り上げ  られるビットはキャリー  と呼ばれる(図の1) ・正+正=負、負+負=正  の場合はオーバフロー (図の?) ・符号ビットへの繰り上げと  符号ビットからの繰り上げ  (キャリー)が等しくなけ  ればオーバフロー

2つの数aとbの比較結果の条件コード if キャリー then C=true else C=false if オーバフロー then V=true else V=false if 負 then N=true else N=false if ゼロ then Z=true else Z=false (trueは1、falseは0で表現される) a + (bの補数) の結果 a, bを符号付き数と見た場合 if N = V then a ≧ b ⇦ a+(−b)がオーバフローしなければ正 if N≠V then a < b  ⇦ a+(−b)がオーバフローしなければ負 a, bを符号なし数と見た場合 if C then a ≧ b  ⇦ a+(2n−b) ≧ 2n (キャリー) if not C then a < b

以下の問では、整数を8ビット( 2桁の16進数)で表現する。 問1 以下の10進数を2桁の16進数に変換せよ。 たとえば、 8510 = xy16 の形で表現せよ 85, 77, 53, 102 問2 以下の10進数を2桁の補数表示の16進数に変換せよ。 -85, -28, -55, -123 問3   CA16+BC16 A516+AB16 6316+5E16 の結果を16進数で答えよ。また、Z, N, V, Cの値(ゼロか、負か、オーバフローするか、キャリーがあるか)も答えよ。 問4 以下の10進小数を2進小数に変換せよ。 0.625, 0.3