zoukankan      html  css  js  c++  java
  • 浮点数向偶数舍入的问题 Round-to-Even for Floating Point

    Round-To-Even在于To-Up , To-Down, To-towards-Zero对比中,在一定数据量基础上,更加精准。To-Up的平均值比真实数值偏大,To-Down偏小。
     
    例如有效数字超出规定数位的多余数字是1001,它大于超出规定最低位的一半(即0.5),故最低位进1。
    如果多余数字是0111,它小于最低位的一半,则舍掉多余数字(截断尾数、截尾)即可。
    对于多余数字是1000、正好是最低位一半的特殊情况,最低位为0则舍掉多余位,最低位为1则进位1、使得最低位仍为0(偶数)。 

    注意这里说明的数位都是指二进制数。 

    举例:要求保留小数点后3位。 

    对于1.0011001,舍入处理后为1.010(去掉多余的4位,加0.001) 
    对于1.0010111,舍入处理后为1.001(去掉多余的4位) 
    对于1.0011000,舍入处理后为1.010(去掉多余的4位,加0.001,使得最低位为0) 

    对于1.1001001,舍入处理后为1.101(去掉多余的4位,加0.001) 
    对于1.1000111,舍入处理后为1.100(去掉多余的4位) 
    对于1.1001000,舍入处理后为1.100(去掉多余的4位,不加,因为最低位已经为0) 

    对于1.01011,舍入处理后为1.011(去掉多余的2位,加0.001) 
    对于1.01001,舍入处理后为1.010(去掉多余的2位) 
    对于1.01010,舍入处理后为1.010(去掉多余的2位,不加) 

    对于1.01111,舍入处理后为1.100(去掉多余的2位,加0.001) 
    对于1.01101,舍入处理后为1.011(去掉多余的2位) 
    对于1.01110,舍入处理后为1.100(去掉多余的2位,加0.001)
  • 相关阅读:
    spring复杂数据类型传递
    spring表单—乱码解决方案
    spring重定向与转发
    线程在WPF中的使用
    xheditor编辑器上传截图图片抓取远程图片代码
    js window.open()弹出窗口参数说明及居中设置
    INFORMATION_SCHEMA.COLUMNS 查询表字段语句
    SQL 使用Cursor(游标)遍历结果集
    js禁止浏览器滚屏方法
    基础-ADO插入数据后返回自增ID @@IDENTITY
  • 原文地址:https://www.cnblogs.com/jokerjason/p/9187686.html
Copyright © 2011-2022 走看看