计算机组成原理 第一次作业

作业原文

计算机组成原理 第一次作业

参考解答

第 1 题

第 2 题

x=(128.75)×210=(10000000.11)×21010=(0.1000000011)×210x=(-128.75)\times2^{-10}=(-10000000.11)\times2^{-1010}=(-0.1000000011)\times2^{-10}
(1)原码表示:阶码为 00100010,阶符为 11;尾数为 100000001100000100000001100000,尾数符号为 11
(2)反码表示:阶码为 11011101,阶符为 11;尾数为 011111110011111011111110011111,尾数符号为 11
(3)补码表示:阶码为 11101110,阶符为 11;尾数为 011111110100000011111110100000,尾数符号为 11

第 3 题

(1)无符号数
最小的数为 0000000000000000(2)=00000000000000000_{(2)}=0
最大的数为 1111111111111111(2)=655351111111111111111_{(2)}=65535
范围为 [0,65535][0,65535]
(2)原码表示的定点小数
最小的数为 1.111111111111111(2)=21511.111111111111111_{(2)}=2^{-15}-1
最大的数为 0.111111111111111(2)=12150.111111111111111_{(2)}=1-2^{-15}
范围为 [2151,1215][2^{-15}-1,1-2^{-15}]
(3)补码表示的定点小数
最小的数为 1.000000000000000(2)=11.000000000000000_{(2)}=-1
最大的数为 0.111111111111111(2)=12150.111111111111111_{(2)}=1-2^{-15}
范围为 [1,1215][-1,1-2^{-15}]
(4)补码表示的定点整数
最小的数为 1000000000000000(2)=327681000000000000000_{(2)}=-32768
最大的数为 0111111111111111(2)=327670111111111111111_{(2)}=32767
范围为 [32768,32767][-32768,32767]
(5)原码表示的定点整数
最小的数为 1111111111111111(2)=327671111111111111111_{(2)}=-32767
最大的数为 0111111111111111(2)=327670111111111111111_{(2)}=32767
范围为 [32767,32767][-32767,32767]
(6)浮点数(非规格化,原码)
最大正数为 0 11111 0 111111111(2)=(129)×22510\ 11111\ 0\ 111111111_{(2)}=(1-2^{-9})\times2^{2^5-1}
最小正数为 1 11111 0 000000001(2)=29×21251\ 11111\ 0\ 000000001_{(2)}=2^{-9}\times2^{1-2^5}
最大负数为 1 11111 1 000000001(2)=29×21251\ 11111\ 1\ 000000001_{(2)}=-2^{-9}\times2^{1-2^5}
最小负数为 0 11111 1 111111111(2)=(291)×22510\ 11111\ 1\ 111111111_{(2)}=(2^{-9}-1)\times2^{2^5-1}
范围为 [(291)×2251,29×2125]{0}[29×2125,(129)×2251][(2^{-9}-1)\times2^{2^5-1},-2^{-9}\times2^{1-2^5}]\cup\{0\}\cup[2^{-9}\times2^{1-2^5},(1-2^{-9})\times2^{2^5-1}]
(7)浮点数(规格化,原码)
最大正数为 0 11111 0 111111111(2)=(129)×22510\ 11111\ 0\ 111111111_{(2)}=(1-2^{-9})\times2^{2^5-1}
最小正数为 1 11111 0 100000000(2)=21×21251\ 11111\ 0\ 100000000_{(2)}=2^{-1}\times2^{1-2^5}
最大负数为 1 11111 1 100000000(2)=21×21251\ 11111\ 1\ 100000000_{(2)}=-2^{-1}\times2^{1-2^5}
最小负数为 0 11111 1 111111111(2)=(291)×22510\ 11111\ 1\ 111111111_{(2)}=(2^{-9}-1)\times2^{2^5-1}
范围为 [(291)×2251,21×2125]{0}[21×2125,(129)×2251][(2^{-9}-1)\times2^{2^5-1},-2^{-1}\times2^{1-2^5}]\cup\{0\}\cup[2^{-1}\times2^{1-2^5},(1-2^{-9})\times2^{2^5-1}]

第 4 题

  • 51/12851/128
    51/128=0.0110011(2)=0.110011(2)×2151/128=0.0110011_{(2)}=0.110011_{(2)}\times2^{-1}
    (1)阶码和尾数均为原码:1 0001 0 1100110000(2)1\ 0001\ 0\ 1100110000_{(2)}
    (2)阶码和尾数均为补码:1 1111 0 1100110000(2)1\ 1111\ 0\ 1100110000_{(2)}
    (3)阶码为移码,尾数为补码:0 1111 0 1100110000(2)0\ 1111\ 0\ 1100110000_{(2)}
  • 27/1024-27/1024
    27/1024=0.0000011011(2)=0.11011(2)×2101-27/1024=-0.0000011011_{(2)}=-0.11011_{(2)}\times2^{-101}
    (1)阶码和尾数均为原码:1 0101 1 1101100000(2)1\ 0101\ 1\ 1101100000_{(2)}
    (2)阶码和尾数均为补码:1 1011 1 0010100000(2)1\ 1011\ 1\ 0010100000_{(2)}
    (3)阶码为移码,尾数为补码:0 1011 1 0010100000(2)0\ 1011\ 1\ 0010100000_{(2)}
  • 7.3757.375
    7.375=111.011(2)=0.111011(2)×2117.375=111.011_{(2)}=0.111011_{(2)}\times2^{11}
    (1)阶码和尾数均为原码:0 0011 0 1110110000(2)0\ 0011\ 0\ 1110110000_{(2)}
    (2)阶码和尾数均为补码:0 0011 0 1110110000(2)0\ 0011\ 0\ 1110110000_{(2)}
    (3)阶码为移码,尾数为补码:1 0011 0 1110110000(2)1\ 0011\ 0\ 1110110000_{(2)}
  • 86.5-86.5
    86.5=1010110.1(2)=0.10101101(2)×2111-86.5=-1010110.1_{(2)}=-0.10101101_{(2)}\times2^{111}
    (1)阶码和尾数均为原码:0 0111 1 1010110100(2)0\ 0111\ 1\ 1010110100_{(2)}
    (2)阶码和尾数均为补码:0 0111 1 0101001100(2)0\ 0111\ 1\ 0101001100_{(2)}
    (3)阶码为移码,尾数为补码:1 0111 1 0101001100(2)1\ 0111\ 1\ 0101001100_{(2)}

第 5 题

最大正数为 0 0111111 11111111(2)=(128)×22610\ 0111111\ 11111111_{(2)}=(1-2^{-8})\times2^{2^6-1}
最小正数为 0 1000000 10000000(2)=21×2260\ 1000000\ 10000000_{(2)}=2^{-1}\times2^{-2^6}
最大负数为 1 1000000 01111111(2)=(28+21)×2261\ 1000000\ 01111111_{(2)}=-(2^{-8}+2^{-1})\times2^{-2^6}
最小负数为 1 0111111 00000000(2)=1×22611\ 0111111\ 00000000_{(2)}=-1\times2^{2^6-1}
范围为 [1×2261,(28+21)×226]{0}[21×226,(128)×2261][-1\times2^{2^6-1},-(2^{-8}+2^{-1})\times2^{-2^6}]\cup\{0\}\cup[2^{-1}\times2^{-2^6},(1-2^{-8})\times2^{2^6-1}]

第 6 题

  • 有效信息位数 K=10K=10,设校验码位数为 rr,则 K+r2r1K+r\le2^r-1,解得 r4r\ge4,取 r=4r=4
  • 确定校验位的位置并分组
位号 14 13 12 11 10 9 8 7 6 5 4 3 2 1
D9D_9 D8D_8 D7D_7 D6D_6 D5D_5 D4D_4 P4P_4 D3D_3 D2D_2 D1D_1 P3P_3 D0D_0 P2P_2 P1P_1
1 0 1 0 1 1 1 0 0 1
第一组(P1P_1)
第二组(P2P_2)
第三组(P3P_3)
第四组(P4P_4)
  • 计算校验位
    P1=D8D6D4D3D1D0=1P2=D9D6D5D3D2D0=0P3=D9D8D7D3D2D1=1P4=D9D8D7D6D5D4=0 P_1=D_8\oplus D_6\oplus D_4\oplus D_3\oplus D_1\oplus D_0=1\\ P_2=D_9\oplus D_6\oplus D_5\oplus D_3\oplus D_2\oplus D_0=0\\ P_3=D_9\oplus D_8\oplus D_7\oplus D_3\oplus D_2\oplus D_1=1\\ P_4=D_9\oplus D_8\oplus D_7\oplus D_6\oplus D_5\oplus D_4=0
  • 海明码为:1010110100110110101101001101