2.4.5 浮点运算
补充
补充一下比较的操作
- 首先把NaN排除在外
- 然后按照下列的步骤比较
- 首先考虑符号位(注意\(+0=-0\))
- 然后直接将剩下的所有二进制位按照无符号整数比较即可
P85
然后正文的意思就是说浮点数在计算的时候,首先假设有无限多的精度位计算出一个精确的结果,然后使用舍入技术舍入即可
另外补充一下乘法和加法操作
- 乘法
- 加法
加法从概念上来讲就是将两个数看做浮点数,然后相加并转换成IEEE表示法。那么实际计算的时候,肯定就要先将指数变成一样的,也就是把第一个数的小数点往右边移动(增大\(M_1\),减小\(E_1\));把指数变成一样的之后直接把尾数按照普通加法相加即可,然后再调整
接着解释一下\((3.14+1e10)-1e10=0,3.14+(1e10-1e10)=3.14\)的原因:对于第一个式子,首先将\(1e10\)的指数调整到跟\(3.14\)一样,于是前者的尾数就变得非常大(而且最后一堆零),跟\(3.14\)的尾数相加,\(3.14\)的尾数就会在结果的最后,然后调整的时候把最后的位给舍掉,于是结果就是\(1e10\),而\(1e10-1e10=0\),所以有第一个式子;对于第二个式子的解释同理