默认冷灰
24号文字
方正启体

第469章 0.1+0.2≠0.3 (8 / 8)

作者:青衫取醉 最后更新:2025/7/11 11:28:24
        莉莉丝有些震惊地张大嘴巴:“为、为什么?”

        顾凡解释道:“在现实中0.1+0.2当然是等于0.3的,但在程序里不是,因为程序是二进制的。我们想要把十进制转化成二进制,需要用到‘除2取余法’,也就是说,把十进制的8转化成二进制,那么就需要除四次2,余数分别是0、0、0、1,那么最终转化出来的二进制结果,就是1000。

        “但这是整数的转换,当遇到负数、小数的时候,情况又会有一些区别。

        “这里我就不展开讲了,总之,想要将十进制的小数转化为二进制,就需要用到‘乘二取整法’,我们先把整数部分十进制转二进制,再把小数部分十进制转二进制,最后再把两个二进制数字的结果进行合并,就得到了一个小数在二进制下的数字。

        “但这里有个问题,那就是只有极少数的小数可以通过乘二取整法来完整地转化,还有大量的数字在转化成二进制之后,是无限循环的。

        “就比如,十进制的0.1在转化成二进制之后,会变成0.0001100110……而由于计算机的资源是有限的,我们不能直接记录这一长串的数字,就只能记录一个最大化接近0.1的二进制数,这就会造成精度缺失的情况。”

        顾凡一边说着,一边在电脑上快速地运算,帮助莉莉丝理解。

        而莉莉丝则是眉头紧锁,显然大脑已经处于过载状态,但在顾凡一步一停的耐心解释下,倒是也勉强理解了七七八八。

        (本章完)

        【本章阅读完毕,更多请搜索途阅小说;http://www.bookmarketingbuzz.com 阅读更多精彩小说】
(←快捷键) <<上一章 举报纠错 回目录 回封面 下一章>> (快捷键→)

大家都在看?