假設電腦使用 8 位元,2 的補數整數儲存法表現一個整數,請回答下列問題: (一)10110111 是代表 10 進位多少的整數?【3 分】 (二)4810 轉為 8 位元格式是多少?【3 分】 (三)這樣的表示法所能表達的整數範圍若以 10 進位表示,其起迄範圍為何?【4 分】
以上請列出計算過程。
詳解 (共 10 筆)
詳解
(1)
如為2的補數,需要將原本值0變1,1變0,最後再將未碼+1,所以將原本10110111 還原值
步驟一: 10110111-1 => 10110110
步驟二: 將0變1,將1變0 => 01001001
步驟三: 將變成十進式 =>2^6 + 2^3 + 1 => -73 (因為2補數所以加上負號)
以上如有錯誤,將多多指正,我會非常感謝貴人指導
詳解
(一)10110111 是代表 10 進位多少的整數?【3 分】
最高位元為1為負數保留此位元不動,後面位元0轉1然後1轉0
=1 1001000,每個位元對應的10進位:
=負數 64 32 16 8 4 2 1
=(-(64+8))-1
Ans:-73
(二)4810 轉為 8 位元格式是多少?【3 分】
用短除法 4810 / 2 =2405...0
2405 / 2 =1202...1
601 / 2 = 300...1
300 / 2 = 150...0
150 / 2 = 75...0
75 / 2 = 37...1
37 / 2 = 18...1
18 / 2 = 9...0
9 / 2 = 4...1
4 / 2 = 2...0
2 / 2 = 1...0
1 / 2 = 0...1
算到商數=0即可
從下往上把餘數排列完畢即可
Ans:00001001 01100110
用2組8位元表示前面要補4個零
(三)這樣的表示法所能表達的整數範圍若以 10 進位表示,其起迄範圍為何?【4 分】
詳解
一. -73
二. 00110000
三. -128...127
詳解
(1)-73
(2)00110000
(3)-2^7 ~ 2^7-1
= -128 ~ 127
詳解
(一)-73 (二)00110000 (三)-128~127
詳解
1. 1001001=73 但是第一位為1 所以是-73
2. 00110000
3. -128~127
詳解
3. -128~127
詳解
1.
-73
2.
(60)(8)
3.
127~-128
詳解
詳解
(1) -73
(2) 00010010 11001010
(3) -128~127
(2) 00010010 11001010
(3) -128~127