csapp: 浮点数舍入

发布于 2022-09-02 12:10:36 字数 204 浏览 39 评论 0

如图所示:
图片描述

不是很理解为什么明明是偶数的出来的却是奇数,还有那句使得最低有效数字是偶数,哪一位算最低有效位呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不再见 2022-09-09 12:10:36

应该是书面错误吧,那里上面都说了是向最接近值舍入,其实也就是所谓的四舍五入(猜测)

‘画卷フ 2022-09-09 12:10:36

说下我搜索之后看到的个人感觉比较靠谱的结果不一定正确!!!

通常情况下我们采取的舍入规则是在原来的值是舍入值的中间值时,采取向偶数舍入,在二进制中,偶数我们认为是末尾为0的数。而倘若不是这种情况的话,则一般会有选择性的使用向上和向下舍入,但总是会向最接近的值舍入。其实这正是IEEE采取的默认的舍入方式,因为这种舍入方式总是企图向最近的值的舍入。

也就是说对于取最低有效位只能得到一个结果的,就不用考虑向偶数舍去的情况,只有碰到会得出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.

这就是我个人分析的结果,如果有不对欢迎提出,谢谢...

浅浅 2022-09-09 12:10:36

这段话的意思是在一般情况下向最接近的值舍入,但是1.5到1和2的距离是一样的,这个时候就不存在最接近的值(两边是一样接近的),于是补充一条规则:向偶数舍入,结果就是最低有效位为偶数:1.5变成2、-1.5变成-2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文