【B】01.二進位00010001所對應的2的補數(2's complement)為
(A)11101110 (B)11101111 (C)11101101 (D)10010001。[96技競]
(00010001)2之1的補數11101110,2的補數11101111
【D】02.下列哪一項為電腦中實際使用的負數表示法? (A)浮點數表示法 (B)最高位元表示法 (C)1的補數法 (D)2的補數法。[98技競]
【C】03.1101111001之2的補數為下列何者?
(A)1111111001 (B)1101111010 (C)0010000111 (D)0010000110。[98技競]
(1101111001)2之1的補數0010000110,2的補數0010000111
【D】04.以下何者對於二進制數值的敘述是正確的? (A)1的補數是將2的補數加1後得之 (B)二數相減常將減數先轉為補數後再做相減 (C)將其向左位移(shift)一位後,其值為原來的1/2(取整數) (D)若最高位元僅表示正負值(符號位元表示法),一個長度為n的數,可表達的值共有2n-1種不同值。[99技競]
(A)2'補數是將1'補數加1後得之。(B)二數相減常將減數先轉為補數後再做相加。(C)將其向左位移一位後,其值為原來的2倍。
【A】05.(0776)8
+ (1657)8等於下列哪一項? (A)(
(0776)8 + (1657)8 = (2655)8
= (0101 1010 1101)2 = (5AD)16
【A】06.若(39.A)12
- (45.3)6 = (X)10,試求其X值為何?
(A)16 1/3 (B)16.7 (C)20 1/3 (D)20.7。[99技競]
(39.A)12 - (45.3)6 = (3 * 121
+ 9 * 120 + 10 * 12-1)10 - (4 * 61
+ 5 * 60 + 3 * 6-1)10 = 45 10/12 - 29 3/6 = 16
1/3
【C】07.十六進位的25和11相加後,若以十進位表示,結果為下列哪一項? (A)36 (B)AB (C)54 (D)48。[99技競]
(25)16 + (11)16 = (36)16
= (54)10
【C】08.若一年以365日計算,至少需使用多少位元才可表示該數目? (A)7 (B)8
(C)9 (D)10。[99技競]
2n≧365,n = 9
【A】09.(CD)16
- (10010111)2的計算結果為下列哪一項? (A)(66)8 (B)(88)10 (C)(AA)16
(D)(10110110)2。[100技競]
(CD)16 - (10010111)2 = (205)10
- (151)10 = (54)10 = (66)8
【A】10.(CA)16
- (10010110)2的計算結果與下列哪一項相同? (A)(52)10 (B)(10110110)2
(C)(66)8 (D)(AA)16。[101技競]
(CA)16 - (10010110)2 = (202)10
- (150)10 = (52)10
【其他試題】
【A】01.將十進位數字系統中(14.375)10之數值轉成二進位數字系統時,其值應為(此題只考慮數值大小,不考慮正負號) (A)(1110.011)2 (B)(1110.101)2
(C)(1010.011)2 (D)(1010.101)2。
(14.375)10 = (1110.011)2
【C】02.以八個位元表示一整數,若不考慮正負,則最大值為 (A)128 (B)256 (C)255 (D)127。
8位元能表示的不帶正負號數值範圍為0~(28 - 1) → 0~255
【D】03.16位元不帶正負號數值,其能表示的範圍為 (A)-65536~65536 (B)0~32767 (C)-32768~32767 (D)0~65535。
16位元能表示的不帶正負號數值範圍為0~(216 - 1) → 0~65535
【A】04.下列何組8位元,2的補數運算結果不會產生溢位?(所有數字均以16進制表示) (A)70 + 70 (B)FF + FF (C)81 + 7F
(D)70 + FF。
※2的補數是應用在減法,本題都是加法,使用不到。
(A)(0111 0000)2 + (0111 000)2 = (1110
0000)2 (8位 + 8位 = 8位,沒有溢位)
(B)(1111 1111)2 + (1111 1111)2 =
(1 1111 1110)2 (8位 + 8位 = 9位,有溢位)
(C)(1000 0001)2 + (0111 1111)2 =
(1 0000 0000)2 (8位 + 8位 = 9位,有溢位)
(D)(0111 0000)2 + (1111 1111)2 =
(1 0110 1111)2 (8位 + 8位 = 9位,有溢位)
【A】05.二進位數1101之2'S補數為 (A)0011 (B)0010 (C)1111 (D)0101。
二進位數1101之1's補數為0010,2's補數為0011
【C】06.二進位數字(001000)2,其六位元2的補數為
(A)(101000)2 (B)(110111)2 (C)(111000)2
(D)(001001)2。
二進位數001000之1's補數為110111,2's補數為111000
【D】07.若電腦系統以8個位元表示一個整數,且負數採用2補數的方式表示,則(10010111)2換成十進位,結果應為 (A)(149) (B)(116) (C)(-106) (D)(-105)。
2補數(10010111)2
→ 1補數(10010110)2 → (01101001)10 → (-105)10
【A】08.一計算機若以2的補數法來表示數值,則下列的二進制數值,何者相當於十進制的-127? (A)(10000001)2 (B)(01111111)2
(C)(11111111)2 (D)(10000000)2。
(127)10 = (01111111)2,1'補數為10000000,2'補數為10000001
【A】09.以16位元的2補數來表示有號數,則(-32768)10等於
(A)(8000)16 (B)(F000)16 (C)(FFFF)16 (D)(
(32768)10 = (1000
0000 0000 0000)2,1'補數為(0111
1111 1111 1111)2,2'補數為(1000
0000 0000 0000)2 = (8000)16
【B】10.通常PC上採用2的補數來表示負整數,所使用的整數範圍為-32768到+32767,請問此情況下,一個整數佔用多少Bytes? (A)4 (B)2 (C)0 (D)8。
32767 - (-32768) + 1 = 65536 = 216
16bits = 2Bytes
【C】11.下列運算式中,何者的值最大? (A)(101001 - 10010)2 (B)(66 - 57)8
(C)(101 - 94)16 (D)(3C - 34)16。
(A)(101001
- 10010)2 = (41 - 18)10 = (23)10
(B)(66 -
57)8 = (54 - 47)10 = (7)10
(C)(101
- 94)16 = (257 - 148)10 = (109)10…值最大
(D)(3C - 34)16
= (60 - 52)10 = (8)10
【B】12.以8位元表示一整數,若用2的補數表示負數,則表示範圍是 (A)-127~128 (B)-128~127 (C)-127~127 (D)-128~128。
表示範圍為-27~+27 - 1 → -128~+127
【D】13.以二的補數表示法(2's complement notation),4個位元來表示十進位數-5,其值為 (A)1010 (B)1101 (C)1100 (D)1011。
(5)10 = (0101)2轉為1的補數(1010)2
→ 再轉為2的補數(1011)2,所以(-5)10 = (1011)2
【A】14.假設某電腦系統以8位元表示一個數,而負數採用2的補數表示方式,則十進位數(-30)的二進位表示法應該為何? (A)11100010 (B)11100001 (C)00011110 (D)10011110。
(30)10 =
(00011110)2
將二進位數(00011110)2換成1的補數(11100001)2,也就是0變成1,1變成0
將1的補數加1,就是2的補數,(11100001)2 + 1 = (11100010)2
【B】15.某一電腦系統以8位元表示整數,負數以2的補數表示,則-78應為下列何者? (A)11010101 (B)10110010 (C)10110001 (D)10010011。
(78)10 = (01001110)2轉為1的補數(10110001)2
→ 再轉為2的補數(10110010)2
(-78)10
= (10110010)2
【C】16.設一電子計算機系統"2的補數"代表其負數值,請問在此系統中010110 - 101001之運算結果為何? (A)010011 (B)010100 (C)101101 (D)101100。
先將101001轉為2的補數(010111)2,再計算(010110)2 + (010111)2 = (101101)2
6位加6位等於6位,表示結果為負,須將(101101)2轉為2的補數(010011)2
= 19,答案是-19
【B】17.十六進位數字1B,其二的補數表示法(2's Complement)的值為 (A)E4 (B)E5 (C)FB (D)B1。[81商業北夜]
(1B)16 = (0001 1011)2,1的補數為(1110 0100)2,2的補數為(1110 0101)2 = (E5)16。
【C】18.若系統使用2的補數法來儲存負數,將十進位數-17轉換為八位元之二進位數表示時,正確值應為 (A)00010001 (B)11101110 (C)11101111
(D)00010000。[84商業北夜]
(17)10 = (0001 0001)2,1的補數為1110 1110,2的補數為1110 1111。
【B】19.某一電腦系統以8位元表示整數,負數以2的補數表示,則-78應為下列何者? (A)11010101 (B)10110010 (C)10110001
(D)10010011。[85商業]
(78)10 = (0100 1110)2,1的補數為1011 0001,2的補數為1011 0010。
【B】20.二進位數字運算10010 - 11100,其結果為 (A)-01011 (B)-01010 (C)-01100
(D)-01001。[87商業北夜]
【C】21.以8位元表示一整數,若採用1的補數表示負數,則其表示範圍是 (A)-128~127 (B)-127~128 (C)-127~127 (D)-128~128。[87資管保甄]
1的補數範圍:-(2n - 1 - 1)~+(2n
- 1 - 1)。-(28 - 1 - 1)~+(28
- 1 - 1) → -127~+127
【A】22.(0776)8 + (1657)8等於 (A)(
(0776)8 + (1657)8 = (2655)8 = (0101 1010 1101)2
= (5AD)16
【B】23.某電腦以8bit表示一整數,其負數以2'S補數方式表示,則-31的二進位表示為何? (A)11100010 (B)11100001 (C)11100011
(D)11100100。[88資管保甄]
(31)10 = (0001 1111)2,1的補數為1110 0000,2的補數為1110 0001
【A】24.試求二進位數10110110之1'S補數及2'補數 (A)01001001與01001010 (B)01001010與01001001 (C)01001001與10110110 (D)10110111與10111010。[89工設]
【D】25.若以八個位元來儲存資料並採用2的補數法來表示負數,則(35)10 - (91)10之運算結果以二進位數字系統表示為何? (A)11000110 (B)10101010 (C)10100110
(D)11001000 (E)11001010。[89工設推甄]
(35)10
- (91)10 = (56)10 = (0011
1000)2,1'補數為1100 0111,2'補數為1100 1000
【B】26.二進位數1101之2'S補數為 (A)0010 (B)0011 (C)0101 (D)1111。[89商業中夜]
二進位數1101之1's補數為0010,2's補數為0011
【C】27.有關補數的敘述,下列何者是錯誤的? (A)十進位167的9的補數為832 (B)十進位168的10的補數為832 (C)二進位1001的2的補數為0110 (D)4位元的2的補數表示法,其數範圍為-8到+7。[89資管保甄]
二進位數1001之1'補數為0110,2'補數為0111
【B】28.將十進制負數-119(10)以8個位元(bits)的二進制2的補數(2's
complement)作表示,下列何者為正確? (A)10001000(2) (B)10001001(2) (C)10001010(2)
(D)11110111(2)。[100中華電信]
(119)10 = (01110111)2
→ 1的補數(10001000)2 → 2的補數(10001001)2
【A】29.設A = 100011(2)、B = 011011(2)皆為2's補數型式(長度6位元),試問A + B =? (A)-2(10) (B)-1(10) (C)1(10) (D)2(10)。[100中華電信]
A + B = (100011)2
+ (011011)2 = (111110)2 → 1的補數(000001)2
→ 2的補數(000010)2 = (-2)10
【綜合題】
【題目1】將二進制轉為十進制
|
不考慮負數 |
考慮負數 |
(11001101)2 |
(128 + 64 + 8 +
4 + 1)10 = (205)10 |
2's補數(00110011)2 = (51)10,答案是-51 |
(10101001)2 |
(128 + 32 + 8 +
1)10 = (169)10 |
2's補數(01010111)2 = (87)10,答案是-87 |
(11000011)2 |
(128 + 64 + 2 +
1)10 = (195)10 |
2's補數(00111101)2 = (61)10,答案是-61 |
【題目2】-145的2的補數用8-bit表示
以8位元(bits)來表示帶正負號的數字,其範圍為-27 ~ +27
- 1 = -128 ~ +127。而-145已超出範圍。
若改為以9位元(bits)來表示帶正負號的數字,其範圍為-28 ~ +28 - 1
= -256 ~ +255
(-145)10
= (101101111)2
【題目3】請寫出以下數字之1's及2's補數表示法(假設使用8位元來儲存資料)
(+110)10 |
(110)10
= (01101110)2 (+110)10之1's及2's補數表示法都是(01101110)2 |
(-110)10 |
(-110)10之1's補數表示法是(10010001)2,2's補數表示法是(10010010)2 |
【題目4】28 - 52以2的補數來進行運算
(28)10
= (011100)2
(52)10
= (110100)2轉為2的補數(001100)2
(011100)2
+ (001100)2 = (101000)2
6位加6位等於6位,表示結果為負,須將結果轉為2的補數(011000)2 = 24,答案是-24
【題目5】將下列十進位的值轉換成5位元(bits)二進位2的補數(2's Complement)進行計算,並將計算結果轉回十進位。
a.(8)10 - (2)10
= (01000)2
- (00010)2
(00010)2的1's為(11101)2,2's為(11110)2
(01000)2 + (11110)2
= (100110)2 →
(00110)2 = (6)10
※5位加5位變成6位,表示結果為正,將最前面的1捨去
b.(14)10 + (3)10
= (01110)2
+ (00011)2 = (10001)2 = (17)10
※減法才用補數計算,加法直接計算即可
以8位元 "2's" 計算10進制18-31
回覆刪除以8位元 "2's" 計算10進制18-31
刪除10進制18 = 2進制0001 0010
10進制31 = 2進制0001 1111
0001 1111的1’補數1110 0000,2’補數1110 0001
0001 0010 + 1110 0001 = 1111 0011
2數相加,未進位表示負數,需2’補數
1111 0011的1’補數0000 1100,2’補數0000 1101(即10進制-13)