[教材P60-61→1(2,3), 3, 6(3), 8(2)]
【1】(2).写出下列各整数的原码、反码、补码表示(用8位二进制)。其中MSB是最高位(符号位),LSB是最低位。(2). -128 (3). -127
【解】在八位二进制下,-128不能用原码或反码表示,反码只能表示0到127,-0到-127;
(2). -128 = (-100000000)2 [ -128]8位原码 = 无; [ -128] 8位反码 = 无; [ -128] 8位补码 = 10000000;
(3). -127 = (-1111111)2
[ -127]原码 = 11111111;[ -127]反码 = 10000000;[ -127]补码 = 10000001;
【3】有一个字长位32位的浮点数,符号位1位;阶码8位,用移码表示;位数23位,用补码表示;基数为2。请写出:(1).最大数的二进制表示;(2).最小数的二进制表示;(3).规格化数所能表示的范围。
【解】
(1)最大数的二进制表示:E = 11111111; Ms = 0,M = 11…1(23位全1)
即:0 111111 11111111111111111111111 = 2127*(1-2-23)
(2)最小数的二进制表示:E = 11111111; Ms = 0,M = 00…0(23位全0)
即:1 111111 00000000000000000000000= 2127*(-1)
(3)规格化数所能表示的范围:
正最大:E = 11111111; Ms = 0, M = 11…1(23位全1) = 2127*(1-2-23);
正最小:E = 00000000; Ms = 0, M = 10…0(低22位全0) = 2-128*(2-1);
负最大:E = 00000000; Ms = 1, M = 01…1(低22位全1) = - 2-128*(2-1+2-23);
负最小:E = 11111111; Ms = 1, M = 00…0(低23位全0) = - 2127;
规格化数所能表示的范围集合:[- 2127, - 2-128*(2-1+2-23) ] U [2-128*(2-1), 2127*(1-2-23)];
【6】已知x和y,用变形补码计算x-y,同时支出结果是否溢出
(3) x=11011;y=-10011
【解】[x]补 = 00 11011;[y]补 = 11 01101;[-y]补 = 00 10011;
[x]补 = 00 11011
[-y]补 = 00 10011
[x-y]补= 01 01110 双符号位为01,结果为正溢出,x-y = 01110;
【8】用原码阵列除法器计算x÷y(先乘一个比例因子变成小数)
(2) x = (-01011)2 = (-11)10; y =(11001)2 = (25)10; (这是整数除法)
x = (-01011)2 = (-0.01011*25)2 ;y = (11001)2 = (0.11001*25)2
【解】[|x|]补 = 0 01011;[|y|]补 = 0 11001; [-|y|]补 = 1 00111;
被除数 X 0 0101100000 → 右补5个0(被除数数值位扩展一倍长度)
+[-|y|]补 1 00111
余数为 1 1001000000 → q0 = 0
+[|y|]补 0 011001
余数为 1 1111010000 → q1 = 0
+[|y|]补 0 0011001
余数为 0 0010011000 → q2 = 1
+[-|y|]补 1 11100111
余数为 0 0000110100 → q3 = 1
+[-|y|]补 1 1 11100111
余数为 0 0000000010 → q4 = 1
+[-|y|]补 1 1 111100111
余数为 1 1111101001 → q5 = 0
+[|y|]补 0 0000 11001 【不够减,则+[|y|]补还原;若够减,则省略此步】
余数为 00000000010
所以有:x÷y = - 0.01110 余数为:[0.00010]补 = [0.00010]原 = 0.00010
【注】若为小数除法,则余数为:[0.0000000010]补 = [0.0000000010]原
第2.2节、第3次书面作业[教材P61→9(1), 10(2), 11(2), 12(2), 16(较高要求)]
【9】设阶码3位,位数6位,按浮点运算方法,完成下列取值的[x+y],[x-y]计算:
(1). x = 2-011×0.100101, y = 2-010×(-0.011110);
【解】 [x]浮 = 11 101, 0.100101; [y]浮 = 11 110, -0.011110; Ex – Ey = 11 101 + 00 010 =11 111
[x]浮 = 11 110, 00.010010(1); [y]浮 = 11 110, 11.100010; [-y]浮 = 11 110, 00. 011110;
[x+y] 00.010010(1)
+ 11.100010
11.110100(1) 尾数规格化后:1.010010 阶码11 100
x + y = 1.010010×2-4 = -0.101110×2-4;
[x-y] 00.010010(1)
+ 00.011110
00.110000(1) 尾数规格化后:0.110000 阶码11 110
x - y = 0.110001×2-2 ;
【10】设阶码3位,位数6位,按浮点运算方法,计算下列各式:
(2).
【解】 Ex = 11 110, Mx = 0.011010; Ey = 00 011, My = 0.111100;
Ez = Ex – Ex = 11 110 + 11 101 = 11 011 = -5;
[Mx]补 = 00.011010; [My]补 = 00.111100; [-My]补 = 11.000100;
被除数 X 00 011010000000 → 右补6个0(被除数数值位扩展一倍长度)
+[-My]补 11 000100
余数为 11 011110000000 → q0 = 0
+[ My]补 00 0111100
余数为 11 111100000000 → q1 = 0
+[ My]补 00 00111100
余数为 00 001011000000 → q2 =