csapp: 浮点数舍入
如图所示:
不是很理解为什么明明是偶数的出来的却是奇数,还有那句使得最低有效数字是偶数,哪一位算最低有效位呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如图所示:
不是很理解为什么明明是偶数的出来的却是奇数,还有那句使得最低有效数字是偶数,哪一位算最低有效位呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
应该是书面错误吧,那里上面都说了是向最接近值舍入,其实也就是所谓的四舍五入(猜测)
说下我搜索之后看到的个人感觉比较靠谱的结果
不一定正确!!!
也就是说对于取最低有效位只能得到一个结果的,就不用考虑向偶数舍去的情况,只有碰到会得出2个结果时,才取偶数位就拿上面的几个数来说吧.
首先看他需要的是取整(也就是说我们要看向最低有效位的下一位也就是十分位)
(1.40)10 -> (1.011...)2 -> 因为十分位是0 直接是1.
(1.6)10->(1.1001...)2 -> 十分位是1, 但是显然更靠近2,所以取2.
(1.5)10->(1.1000...)2 -> 十分位是1而且之后都是0,同时靠近2和1,此时考虑把最低有效位1(变成0),也就是说使得结果变成(10.000...)2, 所以是2.
(2.5)10->(10.1000...)2 -> 十分位是1而且之后都是0,同时靠近2和3,此时考虑最低有效位0(保持),所以是变成了(10.000)2.
这就是我个人分析的结果,如果有不对欢迎提出,谢谢...
这段话的意思是在一般情况下向最接近的值舍入,但是1.5到1和2的距离是一样的,这个时候就不存在最接近的值(两边是一样接近的),于是补充一条规则:向偶数舍入,结果就是最低有效位为偶数:1.5变成2、-1.5变成-2