2018年2月14日 星期三

計概A-02數字表示法-其他試題

【技藝競賽試題】

B01.二進位00010001所對應的2的補數(2's complement) (A)11101110 (B)11101111 (C)11101101 (D)10010001[96技競]

(00010001)21的補數111011102的補數11101111

 

D02.下列哪一項為電腦中實際使用的負數表示法? (A)浮點數表示法 (B)最高位元表示法 (C)1的補數法 (D)2的補數法。[98技競]

 

C03.11011110012的補數為下列何者? (A)1111111001 (B)1101111010 (C)0010000111 (D)0010000110[98技競]

(1101111001)21的補數00100001102的補數0010000111

 

D04.以下何者對於二進制數值的敘述是正確的? (A)1的補數是將2的補數加1後得之 (B)二數相減常將減數先轉為補數後再做相減 (C)將其向左位移(shift)一位後,其值為原來的1/2(取整數) (D)若最高位元僅表示正負值(符號位元表示法),一個長度為n的數,可表達的值共有2n-1種不同值。[99技競]

(A)2'補數是將1'補數加1後得之。(B)二數相減常將減數先轉為補數後再做相加。(C)將其向左位移一位後,其值為原來的2倍。

 

A05.(0776)8 + (1657)8等於下列哪一項? (A)(5AD)16 (B)(5BD)16 (C)(56D)16 (D)(59D)16[99技競]

(0776)8 + (1657)8 = (2655)8 = (0101 1010 1101)2 = (5AD)16

 

A06.(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

 

C07.十六進位的2511相加後,若以十進位表示,結果為下列哪一項? (A)36 (B)AB (C)54 (D)48[99技競]

(25)16 + (11)16 = (36)16 = (54)10

 

C08.若一年以365日計算,至少需使用多少位元才可表示該數目? (A)7 (B)8 (C)9 (D)10[99技競]

2n365n = 9

 

A09.(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

 

A10.(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

 

【其他試題】

A01.將十進位數字系統中(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

 

C02.以八個位元表示一整數,若不考慮正負,則最大值為 (A)128 (B)256 (C)255 (D)127

8位元能表示的不帶正負號數值範圍為0(28 - 1) 0255

 

D03.16位元不帶正負號數值,其能表示的範圍為 (A)-6553665536 (B)032767 (C)-3276832767 (D)065535

16位元能表示的不帶正負號數值範圍為0(216 - 1) 065535

 

A04.下列何組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位,有溢位)

 

A05.二進位數11012'S補數為 (A)0011 (B)0010 (C)1111 (D)0101

二進位數11011's補數為00102's補數為0011

 

C06.二進位數字(001000)2,其六位元2的補數為 (A)(101000)2 (B)(110111)2 (C)(111000)2 (D)(001001)2

二進位數0010001's補數為1101112's補數為111000

 

D07.若電腦系統以8個位元表示一個整數,且負數採用2補數的方式表示,則(10010111)2換成十進位,結果應為 (A)(149) (B)(116) (C)(-106) (D)(-105)

2補數(10010111)2 1補數(10010110)2 (01101001)10 (-105)10

 

A08.一計算機若以2的補數法來表示數值,則下列的二進制數值,何者相當於十進制的-127 (A)(10000001)2 (B)(01111111)2 (C)(11111111)2 (D)(10000000)2

(127)10 = (01111111)21'補數為100000002'補數為10000001

 

A09.16位元的2補數來表示有號數,則(-32768)10等於 (A)(8000)16 (B)(F000)16 (C)(FFFF)16 (D)(8FFF)16

(32768)10 = (1000 0000 0000 0000)21'補數為(0111 1111 1111 1111)22'補數為(1000 0000 0000 0000)2 = (8000)16

 

B10.通常PC上採用2的補數來表示負整數,所使用的整數範圍為-32768+32767,請問此情況下,一個整數佔用多少Bytes (A)4 (B)2 (C)0 (D)8

32767 - (-32768) + 1 = 65536 = 216

16bits = 2Bytes

 

C11.下列運算式中,何者的值最大? (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

 

B12.8位元表示一整數,若用2的補數表示負數,則表示範圍是 (A)-127128 (B)-128127 (C)-127127 (D)-128128

表示範圍為-27+27 - 1 → -128+127

 

D13.以二的補數表示法(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

 

A14.假設某電腦系統以8位元表示一個數,而負數採用2的補數表示方式,則十進位數(-30)的二進位表示法應該為何? (A)11100010 (B)11100001 (C)00011110 (D)10011110

(30)10 = (00011110)2

將二進位數(00011110)2換成1的補數(11100001)2,也就是0變成11變成0

1的補數加1,就是2的補數,(11100001)2 + 1 = (11100010)2

 

B15.某一電腦系統以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

 

C16.設一電子計算機系統"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

 

B17.十六進位數字1B,其二的補數表示法(2's Complement)的值為 (A)E4 (B)E5 (C)FB (D)B1[81商業北夜]

(1B)16 = (0001 1011)21的補數為(1110 0100)22的補數為(1110 0101)2 = (E5)16

 

C18.若系統使用2的補數法來儲存負數,將十進位數-17轉換為八位元之二進位數表示時,正確值應為 (A)00010001 (B)11101110 (C)11101111 (D)00010000[84商業北夜]

(17)10 = (0001 0001)21的補數為1110 11102的補數為1110 1111

 

B19.某一電腦系統以8位元表示整數,負數以2的補數表示,則-78應為下列何者? (A)11010101 (B)10110010 (C)10110001 (D)10010011[85商業]

(78)10 = (0100 1110)21的補數為1011 00012的補數為1011 0010

 

B20.二進位數字運算10010 - 11100,其結果為 (A)-01011 (B)-01010 (C)-01100 (D)-01001[87商業北夜]

 

C21.8位元表示一整數,若採用1的補數表示負數,則其表示範圍是 (A)-128127 (B)-127128 (C)-127127 (D)-128128[87資管保甄]

1的補數範圍:-(2n - 1 - 1)+(2n - 1 - 1)-(28 - 1 - 1)+(28 - 1 - 1) -127+127

 

A22.(0776)8 + (1657)8等於 (A)(5AD)16 (B)(5BD)16 (C)(56D)16 (D)(59D)16[88資管保甄]

(0776)8 + (1657)8 = (2655)8 = (0101 1010 1101)2 = (5AD)16

 

B23.某電腦以8bit表示一整數,其負數以2'S補數方式表示,則-31的二進位表示為何? (A)11100010 (B)11100001 (C)11100011 (D)11100100[88資管保甄]

(31)10 = (0001 1111)21的補數為1110 00002的補數為1110 0001

 

A24.試求二進位數101101101'S補數及2'補數 (A)0100100101001010 (B)0100101001001001 (C)0100100110110110 (D)1011011110111010[89工設]

 

D25.若以八個位元來儲存資料並採用2的補數法來表示負數,則(35)10 - (91)10之運算結果以二進位數字系統表示為何? (A)11000110 (B)10101010 (C)10100110 (D)11001000 (E)11001010[89工設推甄]

(35)10 - (91)10 = (56)10 = (0011 1000)21'補數為1100 01112'補數為1100 1000

 

B26.二進位數11012'S補數為 (A)0010 (B)0011 (C)0101 (D)1111[89商業中夜]

二進位數11011's補數為00102's補數為0011

 

C27.有關補數的敘述,下列何者是錯誤的? (A)十進位1679的補數為832 (B)十進位16810的補數為832 (C)二進位10012的補數為0110 (D)4位元的2的補數表示法,其數範圍為-8+7[89資管保甄]

二進位數10011'補數為01102'補數為0111

 

B28.將十進制負數-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

 

A29.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-1452的補數用8-bit表示

8位元(bits)來表示帶正負號的數字,其範圍為-27 ~ +27 - 1 = -128 ~ +127。而-145已超出範圍。

若改為以9位元(bits)來表示帶正負號的數字,其範圍為-28 ~ +28 - 1 = -256 ~ +255

(-145)10 = (101101111)2

 

【題目3】請寫出以下數字之1's2's補數表示法(假設使用8位元來儲存資料)

(+110)10

(110)10 = (01101110)2

(+110)101's2's補數表示法都是(01101110)2

(-110)10

(-110)101's補數表示法是(10010001)22's補數表示法是(10010010)2

 

【題目428 - 522的補數來進行運算

(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)21's(11101)22'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

 ※減法才用補數計算,加法直接計算即可

2 則留言:

  1. 以8位元 "2's" 計算10進制18-31

    回覆刪除
    回覆
    1. 以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)

      刪除

注意:只有此網誌的成員可以留言。