浮点数二进制运算?
http://geeklu.com/2011/03/ieee754-floating-point-arithmetic/
“两个数相加,这个时候发现指数不一致,所以需要对齐,一般情况下是向右移,因为最右边的即使溢出了,损失的精度远远小于左边溢出。
所以这个时候指数的真正的值都为-3,然后0.1右移后的尾数与0.2的尾数进行相加(别忘记首位的1)
这个时候尾数相加
0.1100110011001100110011001100110011001100110011001101
+1.1001100110011001100110011001100110011001100110011010
--------------------
10.0110011001100110011001100110011001100110011001100111
规格化之后(注意末尾有进位)
为1.0011001100110011001100110011001100110011001100110100X2^(-2)
”
一,两个浮点数二进制相加,只计算尾数部分?
double 0.1;
其二进制:
0011111110111001100110011001100110011001100110011001100110011010
尾数部分:11001100110011001100110011001100110011001100110011010
链接是 :0.1100110011001100110011001100110011001100110011001101
并不相同!
[解决办法]
10.0110011001100110011001100110011001100110011001100111
规格化之后(注意末尾有进位)
为1.00110011001100110011001100110011001100110011001101001X2^(1)