浮点数(三)
六、浮点数的算术运算1、加法运算
基本操作:
X = MX×2EX
Y = MY×2EY
如果EX≤EY,X+Y = (MX×2EX-EY+MY)×2EY。
以6.2510和0.37510的二进制加法为例:
(1)、两个数的二进制形式
6.2510 = 110.012 = 1.1001×22
0.37510 = 0.0112 = 1.1×2-2
(2)、对齐指数
将指数低的向指数高的对齐。
0.37510 = 1.1×2-2 = 0.00011×22
(3)、相加
1 | . | 1 | 0 | 0 | 1 | 0 | |
+ | 0 | . | 0 | 0 | 0 | 1 | 1 |
1 | . | 1 | 0 | 1 | 0 | 1 |
所以和为1.10101×22。
结果的二进制形式为:
0 | 1000 0001 | 1010 1000 0000 0000 0000 000 |
2、减法运算
基本操作:
X = MX×2EX
Y = MY×2EY
如果EX≤EY,X-Y = (MX×2EX-EY-MY)×2EY。
以6.2510和0.37510的二进制减法为例:
(1)、两个数的二进制形式
6.2510 = 110.012 = 1.1001×22
0.37510 = 0.0112 = 1.1×2-2
(2)、对齐指数
将指数低的向指数高的对齐。
0.37510 = 1.1×2-2 = 0.00011×22
(3)、相减
1 | . | 1 | 0 | 0 | 1 | 0 | |
- | 0 | . | 0 | 0 | 0 | 1 | 1 |
1 | . | 0 | 1 | 1 | 1 | 1 |
所以差为1.01111×22。
结果的二进制形式为:
0 | 1000 0001 | 0111 1000 0000 0000 0000 000 |