《計算機科學導論》第四章課後做業解答(我的版)

1.邏輯運算和算術運算有什麼區別?spa

      算術運算就是日常咱們所用的加減乘除,而邏輯運算是在二進制位上進行非、與、或和異或運算,邏輯運算中的二進制位只有兩種狀態:0(假)和1(真),結果中的二進制位也只有這兩種狀態。二進制

4.解釋「溢出」這個詞。方法

      當咱們進行計算機數字中的算術運算時,要記住每一個數字和結果應該在分配的二進制位的定義範圍以內。若計算結果沒法用被分配的二進制位數來正確表示時,該結果出現溢出。規範化

5.在浮點數的加法運算中,怎樣調整指數不一樣的數的表示方法?計算機

      在運算中先以某個數的指數爲標準,經過去規範化使其它的數的指數與該指數相同,相加後再次規範化便可。移動

7.二元邏輯運算有哪些?co

      與、或、異或。浮點數

8.什麼是真值表?數字

      真值表定義了對於每一種可能的輸入或輸出值。background

13.說出本章討論的AND運算符的一個重要特性。

      若輸入中有一位是0,則不須要檢查其餘輸入的相應的位,即可迅速獲得結果爲0.

14.說出本章討論的OR運算符的一個重要特性。

      若輸入中有一位是1,則不須要檢查其餘輸入的相應的位,即可迅速獲得結果爲1.

15.說出本章討論的XOR運算符的一個重要特性。

      若輸入中有一位是1,那結果就是與其餘輸入中相應位相反。

16.哪一種二元運算能夠用來置位?掩碼應該用什麼位模式?

      OR運算。掩碼的位模式中的1用於置位,而0保持相應的位狀態不變。

17.哪一種二元運算能夠用來複位?掩碼應該用什麼位模式?

      AND運算。掩碼的位模式中的0用於復位,而1保持相應的位狀態不變。

18.哪算二元運算能夠用來反轉?掩碼應該用什麼位模式?

      XOR運算。掩碼的位模式中的1用於反轉,而0保持相應的位狀態不變。

19.邏輯和算術移位間的區別是什麼?

      邏輯移位用於不帶符號位的數的模式,右移把每一位向右移動一個位置,最右位被丟棄,最左位填0;左移把每一位向左移動一個位置,最左位被丟棄,最右邊填0.

      算術移位用於二進制補碼格式的位模式中,右移保留符號位,同時複製該符號位,放入相鄰的右邊的位中;左移丟棄符號位,接受它的右邊的位做爲符號位。

20._______是算術運算。       c.減法

21._______是邏輯運算。       d.異或、一元非、二元與

22._______描述整數的方法是計算機存儲中最經常使用的方法。         c.二進制補碼

23.二進制補碼加法中,若是是最左邊一列相加後產生進位,則________.           c.捨棄

24.一個8位分配單元,用二進制補碼能表示的最小十進制數是________.            c.-128

25.一個8位分配單元,用二進制補碼能表示的最大十進制數是________.            c.127

26.一個4位分配單元,用二進制補碼錶示,1加7能獲得________.             d.-8

27.一個4位分配單元,用二進制補碼錶示,5加5獲得________.            b.-6

28.若是在餘127碼中的指數表示爲二進制1000 0101,那麼十進制中的指數是_______.          a.6

29.兩個數相加,一個指數值爲7,另外一個指數值爲9,則須要將較小數的小數點________.          b.左移兩位

30.二元運算符_______取兩個輸入產生一個輸出。       d.AND、XOR、OR

36.可使用一種叫作_______的位模式修改另外一個位模式。        a.掩碼

37.要反轉一個位模式所有的位,使用全1掩碼,對位模式和掩碼進行_______運算。        b.XOR

38.要復位(置0)一個位模式所有的位,對位模式和掩碼進行_______運算。         a.AND

39.要置位(置1)一個位模式所有的位,對位模式和掩碼進行_______運算。         b.OR

40.顯示下列運算的結果。

a.NOT(99)16            →   NOT(1001 1001)2   →   (0110 0110)2

 

b.NOT(FF)16            →   NOT(1111 1111)2   →   (0000 0000)2

 

c.NOT(00)16            →   NOT(0000 0000)2   →   (1111 1111)2

 

d.NOT(01)16            →   NOT(0000 0001)2   →   (1111 1110)2

41.求下列運算結果。

a.(99)16 AND (99)16            →   (1001 1001)2 AND (1001 1001)2   →   (1001 1001)2    

       

b.(99)16 AND (00)16            →   (1001 1001)2 AND (0000 0000)2   →   (0000 0000)2

 

c.(99)16 AND (FF)16            →   (1001 1001)2 AND (1111 1111)2   →   (1001 1001)2

 

d.(FF)16 AND (FF)16            →   (1111 1111)2 AND (1111 1111)2   →   (1111 1111)2

42.求下列運算結果。

a.(99)16 OR (99)16            →   (1001 1001)2 OR (1001 1001)2   →   (1001 1001)2 

 

b.(99)16 OR (00)16            →   (1001 1001)2 OR (0000 0000)2   →   (1001 1001)2

 

c.(99)16 OR (FF)16            →   (1001 1001)2 OR (1111 1111)2   →   (1111 1111)2

 

d.(FF)16 OR (FF)16            →   (1111 1111)2 OR (1111 1111)2   →   (1111 1111)2

43.求下列運算結果。

a.NOT [(99)16 OR (99)16]              →   NOT (1001 1001)2    →    (0110 0110)2

 

b.(99)16 OR [NOT (00)16]              →    (1001 1001)2 OR (1111 1111)2    →     (1111 1111)2

 

c.[(99)16 AND (33)16] OR [(00)16 AND (FF)16]             →    [(1001 1001)2 AND (0011 0011)2] OR [(0000 0000)2 AND (1111 1111)2 ]

                                                                                  →    (0001 0001)2 OR (0000 0000)2

                                                                                  →    (0001 0001)2

 

d.[(99)16 OR (33)16] AND [(00)16 OR (FF)16]             →    [(1001 1001)2 OR (0011 0011)2] AND [(0000 0000)2 OR (1111 1111)2 ]

                                                                                →    (1011 1011)2 AND (1111 1111)2

                                                                                →    (1011 1011)2

51.用8位分配單元,首先把下列數轉換成二進制補碼,而後運算,再把結果轉成十進制。

a.19 + 23                 →     (0001 0011)2 + (0001 0111)2 = (0010 1010)2 = 42

b.19 - 23                 →     (0001 0011)2 - (0001 0111)2 = (0001 0011)2 + (1110 1001)2 = (1111 1100)2 = -4

c.-19 + 23                 →     (1110 1101)2 + (0001 0111)2 = (0000 0100)2 = 4

d.-19 - 23                 →     -(0001 0011)2 - (0001 0111)2 = (1110 1101)+ (1110 1001)2 = (1101 0110)2 = -42

52.用16位分配單元,先把下列數轉換成二進制補碼,而後運算,再把結果轉成十進制。

a.161 + 1023                 →     (0000 0000 1010 0001)2 + (0000 0011 1111 1111)2 = (0000 0100 1010 0000) = 1184

b.161 - 1023                 →     (0000 0000 1010 0001)2 + (1111 1100 0000 0001)2 = (1111 1100 1010 0010) = -862

c.-161 + 1023                 →     (1111 1111 0101 1111)2 + (0000 0011 1111 1111)2 = (0000 0011 0101 1110) = 862

d. -161 - 1023                 →     (1111 1111 0101 1111)2 + (1111 1100 0000 0001)2 = (1111 1011 0110 0000) = -1184

53.若是數字都用8位二進制補碼錶示,下列哪一個運算會溢出?        c. 1100 0010 + 1111 1111

54.若是數字和結果都用8位二進制補碼錶示,不經過實際的計算,能說出下列哪一個運算會溢出嗎?        a. 32 + 105 和 d. -32 - 105

56.使用一個8位的分配單元,首先把下列每一個數字轉化爲符號加絕對值表示法,進行運算,而後把結果轉化爲十進制。

a.19 + 23             →    (0 001 0011)2 + (0 001 0111)2 = (0 010 1010)2 = 42

b.19 - 23             →    (0 001 0011)2 + (1 001 0111)2 = (0 001 0011)2 + (1 110 1001)2 = (1 111 1100)2 = (1 000 0100)2 = -4

c.-19 + 23             →    (1 001 0011)2 + (0 001 0111)2 = (0 110 1101)2 + (0 001 0111)2 = (0 000 0100)2 = 4

d.-19 - 23             →    (1 001 0011)2 + (1 001 0111)2 = (1 010 1010)2 = -42

57.計算下列使用IEEE_127的浮點數運算結果。

a. 34.75 + 23.125

    34.75    →    (100010.11)2    →    (1.0001011)2 × 25    →    0    1000 0100    10001 0110 0000 0000 0000 000

  23.125    →    (10111.001)2    →    (1.0111001)2 × 24    →    0    1000 0011    10111 0010 0000 0000 0000 000   

                                                                                      →    0    1000 0100     01011 1001 0000 0000 0000 000 

                                                                     相加後              0     1000 0100    11100 1111 0000 0000 0000 000

                                                                     規範化              0     1000 0100      1100 1111 0000 0000 0000 000

                                                                            即              (1.11001111) × 25 = 111001.111 = 57.875

 

b. -12.625 + 451.00

    -12.625     →     -(1100.101)2     →     -(1.100101)2 × 23    →    1    1000 0010    11001 0100 0000 0000 0000 000

                                                                                             →    1    1000 0111    00000 1100 1010 0000 0000 000

                                                                                             →    1    1000 0111    11111 0011 0110 0000 0000 000

     451.00    →    (111000011)2    →    (1.11000011)2 × 28    →    0    1000 0111    11100 0011 0000 0000 0000 000   

                                                                     相加後                     0    1000 0111    11011 0110 0110 0000 0000 000

                                                                     規範化                     0    1000 0111      1011 0110 0110 0000 0000 000

                                                                            即                     (1.101101100110) × 28 = 110110110.0110 = 438.375

 

c. 33.1875 - 0.4375

    33.1875     →     (100001.0011)2     →     (1.000010011)2 × 25    →   0    1000 0100     10000 1001 1000 0000 0000 000

 

    -0.4375       →      -(0.0111)2          →          -(1.11)2 × 2-2         →       1    0111 1101     11100 0000 0000 0000 0000 000

                                                                                                  →       1    1000 0100      00000 0011 1000 0000 0000 000

                                                                                                  →       1    1000 0100      11111 1100 1000 0000 0000 000

 

                                                                             相加後                     0    1000 0100      10000 0110 0000 0000 0000 000

 

                                                                             規範化                     0    1000 0100        0000 0110 0000 0000 0000 000

 

                                                                                    即                     (1.0000011) × 25 = 100000.11 = 32.75

 

d. -344.3125 - 123.5625

    -344.3125  →   -(101011000.0101)2     →     -(1.010110000101)2 × 28    →   1    1000 0111     10101 1000 0101 0000 0000 000 

    -123.5625  →   -(1111011.1001)2         →     -(1.1110111001)2 × 26       →     1    1000 0101     11110 1110 0100 0000 0000 000

                                                                                                                       →1    1000 0111     00111 1011 1001 0000 0000 000

                                                                                                相加後                1    1000 0111     11101 0011 1110 0000 0000 000

                                                                                                規範化                1    1000 0111       1101 0011 1110 0000 0000 000

                                                                                                       即                -(1.11010011111) × 28 = -111010011.111 = -467.875

58.下列哪一種狀況永不發生溢出?證實你的觀點。           b.正整數加負整數   和   d.兩個負整數相減

59.把一個整數加到它的反碼上的結果是什麼?             該數的位模式上所有爲1

(完)

相關文章
相關標籤/搜索