首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

浮点数二进制运算?解决办法

2012-06-09 
浮点数二进制运算?http://geeklu.com/2011/03/ieee754-floating-point-arithmetic/“两个数相加,这个时候发

浮点数二进制运算?
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)

热点排行