Download presentation
Presentation is loading. Please wait.
Published byともひろ かみいしづ Modified 約 7 年前
1
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
2進数 bnbn-1…b2b1b0= bn 2n + bn-1 2n-1+…+ b2 22 + b121 + b020
= 0×26 + 1×25 + 0×24 + 1×23 + 0×22 + 1×21 + 0×20 = = 42 10進 2進 16進 8進 A 12 B 13 C 14 D 15 E 16 F 17 2進:1ビットで1桁 8進:3ビットで1桁 16進:4ビットで1桁 T(テラ)ほぼ1012 G(ギガ)ほぼ109 M(メガ)ほぼ106 K K(キロ)ほぼ103 バイトで表現できるもの
3
負の数の表し方 (1)補数表示: two’s complement 2の補数、先頭ビットだけが負
(2)絶対値表示:signed magnitude 先頭ビットが符号で残りが絶対値 (3)反転表示: one's complemnet xのビットを反転したものが「-x」 (4)下駄履き表示:biased representation 「x+下駄」の形 符号なし数 (1) (2) (3) (4) nビットの場合: 先頭のビットの値をsとし それ以降のビットが表す値 をxとしたとき、 (1)の値は n-1s+x = (-2n+2n-1)s+x = -2ns+(2n-1s+x) (2)の値は (-1)sx (3)の値は((1)との差はs) -2n-1s+x+s (4)の値は(2n-1が下駄) 2n-1s+x-2n-1 (1)〜(3)の場合、先頭の ビットは「符号ビット」 (4)の場合符号なし数と同順
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なら、 =1101 (2)xの全ビットを反転して、1を加える(xとそれを反転したものを加 えると補数表示としては-1となるから、1足りない) 4ビットで0011なら、反転して1100、それに1加えて1101
5
nビットの補数表示の値をmビット(n<m)の補数表示 にする場合は符号ビットを左に延ばせばよい(符号拡張)
補数表示(2) nビットの補数表示で表現できる値は - 2n-1 ~ 2n-1 -1 8ビットでは27=128であるから -128 ~ 127 nビットの補数表示の値をmビット(n<m)の補数表示 にする場合は符号ビットを左に延ばせばよい(符号拡張) たとえば、4ビットの -310=11012 は8ビットでは 4ビットの 310=00112 は8ビットでは 32ビットの場合 = 2,147,483,64610 = 2,147,483,64710=231-1 = -2,147,483,64810=-231 = -2,147,483,64710 = -310 = -210 = -110
6
(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+…+ b b121 + b020 x/2 = (bnbn-1…b2b1)2= bn 2n-1 + bn-1 2n-2+…+ b 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) 2) 2) 5 1 2) 2) 4210 = 128,64,32,16,8,4,2,1 の和で42になる ものを探せば、 32+8+2=
7
10進小数の2進小数への変換 (0.x)10 = (0.b1b2b3b4…)2= b b b b4 2-4 … x×2 = (b1.b2b3b4…)2= b1 + b b b4 2-3 … (x×2 - b1 ) ×2 = (b2 . b3b4…)2 = b2 + b b4 2-2 … ((x×2 - b1 ) ×2 - b2 ) ×2 = (b3 . b4…)2 = b3 + b4 2-1… … = (0.b1b2b3b4…)2 0.5625×2 = = (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 =
8
. . 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 = ( …)2 = ( )2 循環小数
9
減算は補数の加算として実行される(3-5=3+(-5), 3-(-5)=3+5)
2進数の加減算 減算は補数の加算として実行される(3-5=3+(-5), 3-(-5)=3+5) 3+4= =? 3+-5= =1 -3+-4= =? ・左端のビットから繰り上げ られるビットはキャリー と呼ばれる(図の1) ・正+正=負、負+負=正 の場合はオーバフロー (図の?) ・符号ビットへの繰り上げと 符号ビットからの繰り上げ (キャリー)が等しくなけ ればオーバフロー
10
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
11
以下の問では、整数を8ビット( 2桁の16進数)で表現する。
問1 以下の10進数を2桁の16進数に変換せよ。 たとえば、 8510 = xy16 の形で表現せよ 85, 77, 53, 102 問2 以下の10進数を2桁の補数表示の16進数に変換せよ。 -85, -28, -55, -123 問3 CA16+BC A516+AB E16 の結果を16進数で答えよ。また、Z, N, V, Cの値(ゼロか、負か、オーバフローするか、キャリーがあるか)も答えよ。 問4 以下の10進小数を2進小数に変換せよ。 0.625, 0.3
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.