浮点数加法

作者: 橡树人 | 来源:发表于2020-06-30 13:09 被阅读0次

    定义 浮点数加法

    对所有的xyx+^fy=Round(x+y)

    性质 浮点数加法性质

    • 满足交换律,即x+^fy=y+^fx
    • 单位元是0.0
    • 不满足结合律,比如表达式(3.14+1e10)-1e10的值是0.0 ,表达式3.14+(1e10-1e10)的值是3.14
    • x不是\infty或者NaN时,存在逆元,满足x+^f-(x)=0
    • +\infty-\infty=NaNNaN+^fx=NaN
    • 满足单调性,即如果a\geq b,对任何非NaNabx有:x+^fa\geq x+^fb

    注意

    • 对于科学计算程序员和编译器作者来说,要特别留心浮点数加法不满足结合律。
    • 由于编译器没途径知道用户在效率和忠实于源程序的精确行为之间作出的权衡是什么,因此编译器倾向于非常保守,避免任何对功能产生轻微影响的优化。

    解释:
    表达式(3.14+1e10)-1e10的值是0.0

    3.14的单精度表示
    0100 0000 0100 1000 1111 0101 1100 0010
    01000000010010001111010111000010
    
    10^10
    0101 0100 0000 1011 1110 0100 0000 0000
    01010100000010111110010000000000
    
    3.14+1e10
    1001 0100 0101 0100 1101 1001 1100 0010
    10010100010101001101100111000010
    
    (3.14+1e10)-1e10
      1001 0100 0101 0100 1101 1001 1100 0010
    - 0101 0100 0000 1011 1110 0100 0000 0000
    = 0100 0000 0100 1000 1111 0101 1100 0010
    01000000010010001111010111000010
    

    相关文章

      网友评论

        本文标题:浮点数加法

        本文链接:https://www.haomeiwen.com/subject/ymztqktx.html