浮点数近似计算_浮点数保留几位小数

浮点数近似计算_浮点数保留几位小数1.名词保留位(Guardbit)、近似位(Roundbit)和粘滞位(Stickybit)

1. 名词

保留位(Guard bit)、近似位(Round bit)和粘滞位(Sticky bit)。

保留位:近似后的最低位;

近似位:保留位的后一位;

粘滞位:近似位后的所有位进行或运算后视作一位

浮点数近似计算_浮点数保留几位小数

truncation:截断,舍去,因为浮点数的位数是固定的,计算中多出来的位数需要利用一些规则进行舍去(比如四舍五入)

2. Truncation Methods(舍弃的方法)

2.1 Chopping

chopping方法:直接把把保留位(有的书上叫LSB)后面的位全部丢掉,比如:

0100100111001 —>010010011

这个方法保留位处的误差从0到接近1,误差不平衡,不可取。(平衡的误差应该是从-1到1或者从0.5到0.5且分布概率一样)

2.2 Von Neumann Rounding

Von Neumann Rounding方法:如果保留位后面的位全部是0,那就把它后面的位全部丢掉,保留位不变,否则的话,保留位置为1(不管它之前是否为1)。这个方法的误差在保留位处从接近-1到接近1,误差是平衡的,但是误差的绝对值有些小高。

2.3 Rounding

Rounding分三种情况:

1.近似位(名词里面有介绍,有的书上叫MSB)是0,保留位保留,保留位后面的全部都丢了,这是肯定的,近似位不是1都没有达到四舍五入的”五”。

2.近似位为1,如果近似位后面任意一位还有1(粘滞位),那么没商量,保留位直接加1,因为这比四舍五入的“五”要大了

3.近似位为1,但是近似位后面的全部都是0,到了抉择的时候了:

(1)如果保留位是0,就把保留位后面的全丢了

(2)如果保留位是1,那就给保留位加1,让它进位后变成0

总之就是在四舍五入刚好等于“五”时,把保留位变成偶数(即0)

今天的文章浮点数近似计算_浮点数保留几位小数分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64887.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注