(1)-59/64 (2)
27/128 (3)—127/128 (4)用小数表示-1 (5)用整数表示—1 (6)—127 (7)35 (8)-128
2. 设[x]补=x0。x1x2x3x4,其中xi取0或1,若要使x>-0。5,则x0、x1、x2、x3、x4的取值应满足什么条件?
3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 ;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 。
4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 。
5。 某机浮点数字长为18位,格式如图2。35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。 (1)将(—1027)10表示成规格化浮点数;
(2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少?
图2.35 浮点数的表示格式
6。 有一个字长为32位的浮点数,格式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。
图2.36 浮点数的表示格式
请写出:
(1)所能表示的最大正数; (2)所能表示的最小负数;
(3)规格化数所能表示的数的范围。
7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。
8。 将数(—7。28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。
9。 已知x=—0.x1x2…xn,求证:[x]补= 10. 已知[x]补=1.x1x2x3x4x5x6,求证:[x]原=
+0。00…01。
+0。000001。
11。 已知x和y,用变形补码计算x+y,同时指出运算结果是否发生溢出。 (1)x=0。11011 y=—0.10101 (2)x=-10110 y=-00011
12。 已知x和y,用变形补码计算x-y,同时指出运算结果是否发生溢出。 (1)x=0。10111 y=0。11011 (2)x=11011 y=-10011
13. 已知[x]补=1.1011000,[y]补=1。0100110,用变形补码计算2[x]补+1/2[y]补=?,同时指出结果是否发生溢出。
14. 已知x和y,用原码运算规则计算x+y,同时指出运算结果是否发生溢出。
(1)x=0。1011,y=-0。1110 (2)x=-1101,y=-1010
15. 已知x和y,用原码运算规则计算x—y,同时指出运算结果是否发生溢出。
(1)x=0.1101,y=0。0001
(2)x=0011,y=1110
16. 已知x和y,用移码运算方法计算x+y,同时指出运算结果是否发生溢出。
(1)x=-1001,y=1101 (2)x=1101,y=1011
17. 已知x和y,用移码运算方法计算x-y,同时指出运算结果是否发生溢出。
(1)x=1011,y=-0010 (2)x=—1101,y=-1010
18. 余3码编码的十进制加法规则如下:两个一位十进制数的余3码相加,如结果无进位,则从和数中减去3(加上1101);如结果有进位,则和数中加上3(加上0011),即得和数的余3码。试设计余3码编码的十进制加法器单元电路。 19。 已知x和y,分别用原码一位乘法和补码一位乘法计算x×y。 (1)x=0.10111 y=-0。10011 (2)x=—11011 y=—11111
20. 已知x和y,分别用带求补器的原码阵列乘法器、带求补器的补码阵列乘法器和直接补码阵列乘法器计算x×y. (1)x=0.10111 y=—0。10011 (2)x=—11011 y=-11111
21。 已知x和y,分别用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0。10011 y=-0.11011 (2)x=-1000100101 y=-11101
22. 已知x和y,用原码阵列除法器计算x÷y。 (1)x=0。10011 y=-0.11011 (2)x=-1000100000 y=-11101
23。 设机器字长为8位(含一位符号位),若x=46,y=—46,分别写出x、y的原码、补码和反码表示的机器数在左移一位、左移两位、右移一位和右移两位后的机器数及对应的真值。
24。 某加法器进位链小组信号为C4C3C2C1,最低位来的进位信号为C0,请分别按下述两种方法写出C4C3C2C1的逻辑表达式: (1)串行进位方式; (2)并行进位方式。
25. 用74181和74182设计如下三种方案的64位ALU。 (1)组间串行进位方式; (2)两级组间并行进位方式; (3)三级组间并行进位方式.
26。 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位)。阶码和尾数均采用含双符号位的补码表示,运算结果的尾数取单字长(含符号位共7位),舍入规则用“0舍1入”法,用浮点运算方法计算x+y、x-y。 (1)x=2 (2)x=2
—011
×(0.100101) y=2
—010
×(—0.011110) ×(0。010110)
—101
×(-0.010110) y=2
-100
27. 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位),阶码采用双符号位的补码表示,尾数用单符号位的补码表示。要求用直接补码阵列乘法完成尾数乘法运算,运算结果的尾数取单字长(含符号位共7位),舍入规则用“0舍1入\"法,用浮点运算方法计算x×y。 (1)x=2×(0。110100) y=2 (2)x=2
—011011
-100
×(—0.100100)
×(-0.100111) y=2×(—0。101011)
101
28. 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位),阶码采用双符号位的补码表示,尾数用单符号位的原码表示。要求用原码阵列除法完成尾数除法运算,运算结果的尾数取单字长(含符号位共7位),舍入规则用“0舍1入”法,用浮点运算方法计算x÷y。 (1)x=2
—010
×(0。011010) y=2
-111
×(-0。111001)
101
(2)x=2×(—0.101110) y=2×(-0.111011)
011
29。 定点补码加减法运算中,产生溢出的条件是什么?溢出判断的方法有哪几种?如果是浮点加减运算,产生溢出的条件又是什么?
30。 设有4个数:00001111、11110000、00000000、11111111,请问答: (1)其码距为多少?最多能纠正或发现多少位错?如果出现数据00011111,应纠正成什么数?当已经知道出错位时如何纠正?
(2)如果再加上2个数00110000,11001111(共6个数),其码距是多少?能纠正或发现多少位错?
31。 如果采用偶校验,下述两个数据的校验位的值是什么? (1)0101010 (2)0011011
32. 设有16个信息位,如果采用海明校验,至少需要设置多少个校验位?应放在哪些位置上?
33. 写出下列4位信息码的CRC编码,生成多项式为G(x)=x+x+1。 (1)1000 (2)1111 (3)0001 (4)0000
34. 当从磁盘中读取数据时,已知生成多项式G(x)=x+x+1,数据的CRC码为1110110,试通过计算判断读出的数据是否正确? 35. 有一个7位代码的全部码字为:
a:0000000 b:0001011 c:0010110 d:0011101
e:0100111 f:0101100 g:0110001 h:0111010
i:1000101 j:1001110 k:1010011 l:1011000
m:1100010 n:1101001 o:1110100 p:1111111
(1)求这个代码的码距;
3
2
3
2
(2)这个代码是不是CRC码。
参考答案
1。 数的各种机器码表示见附表2。1。
附表2。1 数的各种机器码表示
2。 应满足的条件是:①x0=0;②当x0=1时,x1=1且x2、x3、x4不全为0. 3。 1—2
—31
;2
—31
;-2
—31
;-1;2—1;1;—1;—(2-1)
—151
3131
4。 (1-2
—23
)×2;2
127-151
;—2;—(1-2)×2
-23127
5。 (1)(25C03)16
(2)是规格化浮点数;它所表示的真值是1859×2 6。 (1)(1-2) ×2 (2)—2
(3)规格化数所能表示的正数的范围:2示的负数的范围:-2~-(2+2)×2 7. (—959×2
-105127
—1
-23
-128
—129
127-23
127
18
~(1-2)×2;所能表
-23127
)10
8。 (C0E90000)16
9。 证明:因为x<0,按照定义,有 [x]补=2+x
=2-0.x1x2…xn =1+(1—0.x1x2…xn)
=1+(0.11…11-0.x1x2…xn+0.00…01)
=1+ =
+0.00…01 +0.00…01
10. 证明:因为[x]补=1.x1x2x3x4x5x6,即x<0,按照定义,有 [x]补=2+x=1.x1x2x3x4x5x6 x=1。x1x2x3x4x5x6-2 =—1+0。x1x2x3x4x5x6 =-(1—0。x1x2x3x4x5x6) =-(
+0.000001)
因为x<0,按照定义,有 [x]原=1—x =1+( =
+0。000001) +0.000001
11. (1)[x+y]补=00.00110,x+y=0.00110,运算结果未发生溢出 (2)[x+y]补=1100111,x+y=—11001,运算结果未发生溢出 12. (1)[x—y]补=11。11100,x—y=—0。00100,运算结果未发生溢出 (2)[x-y]补=0101110,运算结果发生正溢
13. 2[x]补+1/2[y]补=11。0000011,运算结果未发生溢出 14. (1)[x+y]原=1。0011,x+y=—0.0011,运算结果未发生溢出 (2)因为完成|x|+|y|操作且操作结果的符号位为1,被加数为负数,所以运算结果发生负溢。
15. (1)[x-y]原=0。1100,x-y=0。1100,运算结果未发生溢出 (2)[x-y]原=11011,x-y=—1011,运算结果未发生溢出 16。 (1)[x+y]移=010100,x+y=0100,运算结果未发生溢出
(2)[x+y]移=101000,运算结果发生正溢
17. (1)[x—y]移=011101,x—y=1101,运算结果未发生溢出 (2)[x-y]移=001101,x—y=—0011,运算结果未发生溢出 18. 余3码编码的十进制加法器单元电路如附图2.1所示。
附图2。1 余3码编码的十进制加法器单元电路
19. (1)①[x×y]原=1.0110110101,x×y=-0。0110110101 ②[x×y]补=1.1001001011,x×y=—0.0110110101 (2)①[x×y]原=01101000101,x×y=+1101000101 ②[x×y]补=01101000101,x×y=+1101000101 20. (1)①带求补器的原码阵列乘法器
[x×y]原=1。0110110101,x×y=—0.0110110101 ②带求补器的补码阵列乘法器
[x×y]补=1.1001001011,x×y=-0。0110110101 ③直接补码阵列乘法器
[x×y]补=1。1001001011,x×y=-0.0110110101 (2)①带求补器的原码阵列乘法器
[x×y]原=01101000101,x×y=+1101000101 ②带求补器的补码阵列乘法器
[x×y]补=01101000101,x×y=+1101000101 ③直接补码阵列乘法器
[x×y]补=01101000101,x×y=+1101000101 21. (1)①原码加减交替法
[x÷y]原=1.10110,[余数]原=0。0000001110 x÷y=—0.10110,余数=0.0000001110 ②补码加减交替法
[x÷y]补=1.01001,[余数]补=1。1111110011 x÷y=-0。10111,余数=—0.0000001101 (2)①原码加减交替法
[x÷y]原=010010,[余数]原=111011 x÷y=+10010,余数=—11011 ②补码加减交替法
[x÷y]补=010011,[余数]补=000010 x÷y=+10011,余数=+00010 22. (1)[x÷y]原=1.10110,[余数]原=0。0000110011 x÷y=—0.10110,余数=0.0000110011 (2)[x÷y]原=010010,[余数]原=111001 x÷y=+10010,余数=-11001 23。 (1)x=46=(101110)2
x的三种机器码表示及移位结果如附表2。2所示。
附表2。2 对x=46算术移位后的结果
(2)y=-46=(—101110)2
y的三种机器码表示及移位结果如附表2。3所示.
附表2.3 对y=-46算术移位后的结果
24. (1)串行进位方式 C1=G0+P0C0 C2=G1+P1C1 C3=G2+P2C2 C4=G3+P3C3 (2)并行进位方式 C1=G0+P0C0 C2=G1+G0P1+P0P1C0 C3=G2+G1P2+G0P1P2+P0P1P2C0
C4=G3+G2P3+G1P2P3+G0P1P2P3+P0P1P2P3C0
25. (1)组间串行进位方式的ALU如附图2.2所示。
附图2.2 组间串行进位方式的ALU
(2)两级组间并行进位方式的ALU如附图2。3所示。
附图2.3 两级组间并行进位方式的ALU
(3)三级组间并行进位方式的ALU如附图2.4所示。
附图2.4 三级组间并行进位方式的ALU
26. (1)[x+y]浮=11100,11.010010,[x—y]浮=11110,00。110001,和、差均无溢出
x+y=2
—100
×(-0.101110),x—y=2
-010
×(0。110001)
(2)[x+y]浮=11010,00。101100,[x—y]浮=11100,11。011111,和、差均无溢出
x+y=2
-110
×(0.101100),x-y=2
—100
×(—0.100001)
27。 (1)[x×y]浮=11110,1。000110,乘积无溢出 x×y=2
-010
×(-0。111010)
(2)[x×y]浮=00001,0。110100,乘积无溢出 x×y=2×(0。110100) 28. (1)[x÷y]浮=00100,1。111010,商无溢出 x÷y=2×(-0。111010)
(2)[x÷y]浮=11110,0。110001,商无溢出 x÷y=2
—010100001
×(0。110001)
29。 定点补码加减运算中,产生溢出的条件是:定点补码加减运算结果超出了定点数的表示范围.
溢出判断的方法有三种:①采用单符号位法;②采用进位判断法;③采用双符号位法,这种方法又称为“变形补码”或“模4补码”.
浮点加减运算中,产生溢出的条件是:浮点加减运算结果中阶码超出了它的表示范围.
30. (1)码距为4;最多能纠正1位错或发现2位错;出现数据00011111,应纠正成00001111;当已经知道出错位时,将该位数值取反即可纠正错误。 (2)码距为2;能发现1位错,不能纠错。 31. (1)1; (2)0 32. 至少需要设置6个校验位;
设16个信息位为D16~D1,6个校验位为P6~P1,22位的海明码为H22~H1,则校验位的位置安排如下:
H22H21H20H19H18H17H16H15H14H13H12H11H10H9 H8 H7 H6 H5 H4 H3 H2 H1 P6 D16D15D14D13D12P5 D11D10D9 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1
即6个校验位P6~P1对应的海明码位号分别为H22、H16、H8、H4、H2、H1。 33。 (1)1000110 (2)1111111 (3)0001101 (4)0000000 34。 读出的数据错误。 35。 (1)代码的码距为3; (2)这个代码是CRC码。
因篇幅问题不能全部显示,请点此查看更多更全内容