一.对运算结果进行规格化处理
规格化:最高位与符号位相反
(1)先判断结果是不是规格化,如果不是则执行如下操作
(2)若结果的符号位为11或00,则进行左规,即尾数左移或小数点右移,阶码在原有基础上减去移动位数;
(3)若结果的符号位为10或01,则进行右规,即尾数右移或小数点左移,阶码在原有基础上加上移动位数。
二.例题分析
例题1:
x = 2^011*(0.100101),
y = 2^-010*(-0.011110)
将阶码的符号用双符号位表示,并进行求补操作:
[x]浮 = 11101,0.100101,
[y]浮 = 11110,-0.011110
作差比较,进行对阶操作(小阶对大阶):
Ex-Ey = 11101+00010=11111
差为负值,说明y的阶码是大阶,故将x的尾数右移(即小数点向左移动)进行对阶:
[x]浮 = 11110,0.010010(1)
故:(尾数补数的加法)
x+y =
0 0. 0 1 0 0 1 0 (1)
+ 1 1. 1 0 0 0 1 0
1 1. 1 1 0 1 0 0 (1)
规格化处理:1.010010(尾数左移两位,即小数点右移两位)
阶码的补码: 11100
x+y= 2^-4 * 1.010010
即x+y= 2^-100*(-0.101110)
分析:本来结果为1 1. 1 1 0 1 0 0 (1),但是11为符号位,1为最高位,与要求不符合,根据要求(2)需要左规,则小数点右移,则变为11.101001,11为符号位,1为最高位,与要求不符合,根据要求(2)需要左规,变为1.010010,符合要求,此时结果规格化。
例题2:
x = 2^011*(0.100101),
y = 2^-010*(-0.011110) ,
-y= 2^-010*(0.011110) ,
x-y =(尾数补码的减法)
0 0. 0 1 0 0 1 0 (1)
+ 0 0. 0 1 1 1 1 0
0 0 1 1 0 0 0 0 (1)
规格化处理: 0.110000 阶码 11110
x-y=2^-2*0.110001
分析:通过要求分析,结果已经是规格化。