该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
阶符1位
阶码4位
数符1位
尾数10位
将十进制数转换为二进制: x1= -27/1024=
-0.0000011011B = 2-5*(-0.11011B)
x3=-86.5=-1010110.1B=27*(-0.10101101B)
则以上各数的浮点规格化数为:
(1)[x1]原=1,0101;1.110 110
000 0
[x3]原=0,0111;1.101 011 010 0
(2)[x1]补=1,1011;1.001 010
000 0
[x3]补=0,0111;1.010 100 110 0
(3)[x1]移补=0,1011;1.001 010
000 0
[x3]移补=1,0111;1.010 100
110 0
6.19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(2)A=19/32,B=-17/128,求A-B。
(4)A=-87,B=53,求A-B。
解:(2)A=19/32=
0.100 1100B, B= -17/128= -0.001 0001B
[A]补=00.100 1100, [B]补=11.110 1111 , [-B]补=00.001 0001
[A-B]补=[A]补+[-B]补
=00.1001100
+ 00.0010001
=00.1011101
——无溢出
A-B= 0.101
1101B = 93/128B
(4)A= -87= -101 0111B, B=53=110 101B
[A]补=11, 010 1001, [B]补=00, 011 0101, [-B]补=11, 100 1011
[A-B]补=[A]补+[-B]补
= 11,0101001 + 11,1001011
= 10,1110100 —— 溢出
6.20. 用原码一位乘和补码一位乘(Booth算法)、两位乘计算x·y。
(1)x= 0.110 111,y=
-0.101 110;(4)x= 0.110 11,y= -0.111 01。
解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。
(1)[x]原=0.110111,[y]原=1.101110,x*=0.110111, y*=0.101110
原码一位乘:
部分积
乘数y*
说明
0.000 000
101110
乘数为0右移
0.000 000
+0.110 111
010111
乘数为1,加上x*
0.110 111
0.011 011
+0.110 111
010111
101011
右移一位
乘数为1,加上x*
1.010 010
0.101 001
+0.110 111
101011
010101
右移一位
乘数为1,加上x*
1.100 000
0.110 000
010101
001010
右移一位
乘数为0,右移一位
0.011 000
+0.110 111
000101
乘数为1,加上x*