计算机内部的二进制浮点数加减运算
十进制科学计数法的加法例子
1.123×10^5 + 2.560×10^2
=1.123×10^5 + 0.002560×10^5
=1.12556×10^5
=1.126×10^5
进行尾数加减运算前,必须“对阶”!最后还要考虑舍入。
计算机内部的二进制运算也是一样。
“对阶”操作:目的是使两数的阶码相同。小阶向大阶看齐,阶小的那个数的尾数右移,右移位数等于两个阶码差的绝对值。
IEEE 754尾数右移时,要将隐含的“1”移到小数部分,高位补0,移出低位保留到特定的“附加位”上。
例子1:用二进制浮点数形式计算 0.5+(-0.4375)
解: 将两数转换为二进制
0.5=1.000×2^-1 , -0.4375= -1.110×2^-2
对阶:-1.110×2^-2 ——> -0.111×2^-1
加减:1.000×2^-1 + (-0.111×2^-1)= 0.001×2^-1
左规:0.001×2^-1 ——> 1.000×2^-4
判断溢出:无
结果:1.000×2^-4 = 0.0625
例子2:用二进制浮点数形式计算 26.5+4.375
解:将两数转换为二进制
26.5=11010.1=1.10101×2^4
4.375=100.011=1.00011×2^2
对阶:1.00011×2^2 ——> 0.0100011×2^4
相加:1.10101×2^4 + 0.0100011×2^4
=1.1110111×2^4
=30.875
判断溢出:无
若有错误的地方请各位指教。