140 likes | 389 Views
補數. 在求一個 2 進位數字 (N , K 位數 )1 補數的方法有二種:. 範例:若數字系統以 1 補數表示時, (B). (-3) 10 的 2 進位表示法 (8 個位元 ) 為何 ? 因為 -3 是負數,所以只要取 3 的 1 補數值即是 -3 的表示法。 (3) 10 =(00000011) 2 ,其 1 補數值 =(11111100) 2 ,所以 (-3) 10 =(11111100) 2. 範例:若數字系統以 1 補數表示時, (A). (6) 10 的 2 進位表示法 (8 個位元 ) 為何 ? 判別正負值 , 正為 0, 負為 1
E N D
補數 • 在求一個2進位數字(N,K位數)1補數的方法有二種:
範例:若數字系統以1補數表示時, (B). (-3)10的2進位表示法(8個位元)為何? • 因為-3是負數,所以只要取3的1補數值即是-3的表示法。 • (3)10=(00000011)2,其1補數值=(11111100)2,所以(-3)10=(11111100)2
範例:若數字系統以1補數表示時, (A). (6)10的2進位表示法(8個位元)為何? • 判別正負值,正為0,負為1 • 用2進位表示法該值. (6)10=(00000110)2 • 其1補數值為(11111001)2
2補數 • 在求一個2進位數字(N,K位數)2補數的方法有二種: • 方法一:用最大值(K位都是1)+1,再減N • 方法二:由N的1補數加1。
範例:若數字系統以2補數表示時,(A). (25)10的值為2進位的多少? • 25是正數,所以最左邊位元是0,所以(25)10=(00011001)2 • 其1補數值=(11100110)2,其2補數值=(11100111)2
範例:若數字系統以2補數表示時, • (B). (-33)10的值為2進位的多少? • 因為-33是負數,所以只要取33的2補數值即是-33的表示法。 • (33)10=(00100001)2,其1補數值=(11011110)2,其2補數值=(11011111)2 • 所以(-33)10=(11011111)2
補數加法運算 • 1101 13 • + 1000 8 • ---------------------------- • 10101 21 • 0100 4 • + 0011 3 • ----------------------------- • 00111 7 • 0011 3 • + 0101 5 • ---------------------------- • 1000 8 • 00000100 • + 00000011 • ---------------------- • 000000111
補數減法運算 • 0100 4 • - 0011 3 • ----------------------------- • 0001 1 • 0011 3 • - 0101 5 • ---------------------------- • 11110 ?
補數乘法運算 • 0101 5 • * 0011 3 • ----------------------------- • 0101 15 • + 0101 • ----------------------------- • 1111
11 0011 √ • 01011 0011 ------------------------- 101 011 ------------------------- 10 補數除法運算
8補數與7補數 • (72)8以8補數表示時 • 82 - (72)8 • = 64 – 58 • = 6 • (72)8以7補數表示時 • 82 - (72)8 –1 • = 64 – 58 –1 • = 5
浮點數表示法 • 以一個4字元(32Bit)的浮點數(Floating Point)表示法為例,我們必須先將數值處理成正規化型式(Normalized Form),其型式是將任一數值表示成 :「+- A x 2N」。其中A值範圍為:0.1 <= A < 1 • 即A要表示成小數點型式,且小數之後第1位是1。N則是次方數。經過正規化型式,可以將一個數值分成三部分,如圖2-8。
浮點數表示法 • 符號數(Sign): • 最左邊第1個位元,1代表負數,0代表正數 • 特性數(Exponent,亦稱為指數): • 左邊數起的第2個到第8個位元(共7個),代表此數的次方數。但是次方數還是要有正負號之分,例如25或2-3,所以此部分要能區分出正負數,最簡單的方法是前半 段數字代表負數,後半段數字代表正數,例如以7個位元為例,27=128,代表0~127。所以0~63代表負數-64到-1,64~127代表正數0到63 • 小數(Mantissa,亦稱為尾數或假數): • 一般是佔左邊數起的第9個到第32個位元(共24個),代表此數的小數資料
範例:將15.5轉換成正規化型式的浮點數? • 解答: • 1.先將15.5轉換為2進位,(15.5)10= (1111.1)2 • 2.將數值(1111.1)2正規化= (0.11111)2 x 24 • 3.取其各部分的值: • 符號數:0因為數值是正數 • 特性數:(4 + 64)10=(68)10=(1000100)2 • 小數:前面5個11111,其餘皆是0,所以是 • 111110000000000000000000 • 4.合併浮點數= 符 特 小 • 號 性 • 數 數 數 • 0 1000100 111110000000000000000000 • 以Byte表示時,即 01000100 11111000 00000000 00000000