天天看點

第二章 作業(1456789B)【計組】

第二章 作業(146789B)【計組】

  • ​​前言​​
  • ​​頭腦風暴​​
  • ​​推薦​​
  • ​​第二章 作業(146789B)【計組】​​
  • ​​1​​
  • ​​4​​
  • ​​5(2)​​
  • ​​6(1)​​
  • ​​7(1)​​
  • ​​8(1)​​
  • ​​9(1) [x+y]​​
  • ​​11​​
  • ​​最後​​
  • ​​頭腦風暴答案​​

前言

以下内容源自計組

僅供學習交流使用

頭腦風暴

題目

把下面1234的圖案

| || ||| ||||      

隻移動一個實作翻轉,變成4321圖案

推薦

​​第二章 随堂練習【計組】​​

第二章 作業(146789B)【計組】

1

1 寫出下列各整數的原碼、反碼、補碼表示(用8位二進制數)。其中MSB是最高位(符号位),LSB是最低位

(1) -35

(2)-128

(3)-127

(4)-1

題目 原碼 反碼 補碼
(1) -35 1010 0011 1101 1100 1101 1101
(2)-128 1000 0000
(3)-127 1111 1111 1000 0000 1000 0001
(4)-1 1000 0001 1111 1110 1111 1111

4

4.将下列十進制數表示成IEEE754标準的32位浮點規格化數

(1)27/64 (2)-27/64

(1)27/64=11011 * 2^-6 =1.1011 * 2 ^-2   
e=-2
s=0
E=-2+127=125=0111 1101
M=1011
0011 1110 1000 0000 0000 0000 0000 

(2)與(1)相差符号位
1011 1110 1000 0000 0000 0000 0000      

5(2)

5.已知x和y,用變形補碼計算x+y,同時指出結果是否溢出。

(2)x=11011, y=-10101

(2)x=11011,  y=-10101 

雙符号位補碼  [x]補=00 11011  [y]補=11 01011

  [x]補 00 11011  
+  [y]補 11 01011
-----------------------
     100 00110


[x+y]補=00 00110      
驗證
x=16+11
y=16+5
x-y=6      

6(1)

6.已知x和y,用變形補碼計算x-y,同時指出結果是否溢出。

(1)x=11011, y=-11111

(1)x=11011,  y=-11111  

  [x]補=0 11011  [ y]補=1 00001
  [x]補=0 11011  [-y]補=0 11111
  
雙符号位補碼
  [x]補=00 11011  [-y]補=00 11111
  
  [x]補 00 11011  
+  [y]補 00 11111
-----------------------
      01 11010


[x+y]補=01 11010      
驗證
顯然:-y=11111,已經是5位二進制表示最大了,+x的結果必上溢      

7(1)

7.用原碼陣列乘法器、補碼陣列乘法器分别計算x×y。

(1)x=11011, y=-11111

(1)x=11011,  y=-11111
①原碼陣列乘法器

[x]原=0 11011
[y]原=1 11111

符号位 Xf=0   Yf=1
數值位 |x|=11011   |y|=11111

 |x|   11011   
×|y|   11111
-----------------
      11011
      11011
      11011
     11011
    11011
----------------------
   1101000101


|x|×|y|= 1101000101
符号位單獨運算為1
[x×y]原=1 1101000101      
(1)x=11011,  y=-11111
②補碼陣列乘法器
設最高位為符号位,則輸入資料為
[x]補=0 11011  [y]補=1 00001
符号位  Xf=0   Yf=1

數值為算前求補
|x|=11011  |y|=11111

|x|×|y|=1101000101

符号位單獨運算為1,    (負數求補)
數值位算後求補=0010111011 (正數補=原)

[x×y]補=1 0010111011      
驗證

x=27,y=-31
x*y=-831

1101000101B=837D      

小技巧:

怎麼進位

本位和4的話,進位到前第2位即可

---|-------   
   100      

8(1)

8.用原碼陣列除法器計算x÷y(注:先乘1個比例因子變成小數)。

(1)x=11000, y=-11111

(1)x=11000,  y=-11111
x,y同時乘以2^-5
則x/y的商不變,餘數變成原來的2^-5
舉例:7/2=3...1   70/20=3...10      
x=0.11000  y=-0.11111

①手算法

         0.11000
------------------------
 0.11111 / 0.11000 0
       0.01111 1
-------------------------
           0.01000 10
           0.00111 11  
 ------------------------
       0.00000 11000               


是以0.11000/-0.11111的商是-0.11000,餘數是 0.00000 11000  
是以11000/11111的商是-0.11000,餘數是0.11000      
x=0.11000  y=-0.11111

②不恢複餘數法

[ x]補=0.11000
[ y]補=0.11111
[-y]補=1.00001


    0.11000
+[-y]補  1.00001
-----------------
    1.11001    <0  q0=0
+[ y]補 0.011111
-----------------
     10.010001  >0  q1=1
+[-y]補 1.1100001
--------------------
    100.0000011  >0  q2=1
+[-y]補 1,11100111
-----------------------
        1.11100111  <0  q3=0
+[ y]補 0.000011111 
-----------------------
        1.111101101 <0 q4=0
+[ y]補 0.0000011111       
---------------------------
        1.1111111001 <0 q5=0                 


是以商為-0.11000
餘數為0.0000011  (餘數取最近q>0時候(即q2時)的餘數)      

小技巧:

要算q幾,y就向右移幾位,就補幾個符号位,再拼接原數,并且每次比上次的結果錯開一位

舉例:算q2是以将[-y]補 右移2位

先寫1.1 再将數值100001拼接,即為1.1100001

舉例:算q4是以要将[y]補 右移4位

先寫0.000 再将數值011111拼接,即為0.000011111

結果驗證
(1)x=11000,  y=-11111
x=24,y=-31
商是-0.75  (-0.11000)
餘數是0.75  (0.11000)

-31*-0.75+0.75=24      

9(1) [x+y]

9.設階碼3位,尾數6位,按浮點運算方法,完成下列取值的[x+y],[x-y]運算:

(1)x=2-011X0.100101,

y=2-010X(-0.011110)

(1)x=2^-011 X 0.100101,  y=2^-010 X (-0.011110)      
解:兩數均以補碼表示,階碼采用雙符号位,尾數采用雙符号位,則它們的浮點表示分别為:

[x]浮=11 101  00.100101
[y]浮=11 110  11.100010


<1>求階差并對階
△E=Ex-Ey=[Ex]補+[Ey]補=11 101 + 00 010 = 11 111
即△E為-1,x的階碼小,應使Mx右移一位,Ex加1,
[x]浮= 11 110,00.0100101

<2>尾數求和
00.0100101
11.100010
----------------
11.1101001
    |
<3>規格化處理
尾數運算結果的符号位與最高數值位同值,應執行左規處理,結果為1.01001,階碼為11 100
-0.10111[原]  -100[原]
                    
<4>舍入處理
無需操作


<5>判溢出
階碼符号位為11,不溢出,

故得最終結果為x + y = 2^-100 × -0.10111      
驗證
x=2^-011^X0.100101,  y=2^-010X(-0.011110)

x= 0.000100101
y=-0.00011110

顯然|y|>|x|,結果為負
x+y=-(0.00011110-0.000100101)

  0.00011110
-   0.000100101
-----------------
  0.000010111
x+y=-0.000010111=-0.10111 × 2^-4      

11

11 某加法器進位鍊小組信号為C4C3C2C1,低位來的進位信号為C0,請分别按下述兩種方式寫出 C4C3C2C1,的邏輯表達式:

①串行
C1=G0+P0C0
C2=G1+P1C1
C3=G2+P2C2
C4=G3+P3C3

②并行
C1=G0+P0C0
C2=G1+G0P1+P0P1C0
C3=G2+G1P2+G0P1P2+P0P1P2C0
C4=G3+G2P3+G1P2P3+G0P1P2P3+P0P1P2P3C0      

最後

路漫漫其修遠兮,吾将上下而求索

頭腦風暴答案

回顧題目

把下面1234的圖案

| || ||| ||||      

隻移動一個實作翻轉,變成4321圖案

| || ||| ||||      

答案

|||| ||| || |