当前位置: 首页 > 科技观察

傻子!连0.2这样简单的数字都搞不定!你被开除了!

时间:2023-03-22 13:52:41 科技观察

后记:计算机的本质决定了它是一个二元世界。人类所熟悉的十进制数,需要转换成二进制才能被计算机处理。但是这个转换过程会遇到问题。从漫画中可以看出,十进制整数可以准确地转换为二进制表示,但十进制小数则不一定。你可以用你熟悉的编程语言如Java、Python、JavaScript快速重现这种现象。对于工程计算和科学计算,非常近似的二进制小数就可以满足要求,但在商业计算中,尤其是在金融领域,必须准确表达,计算准确。此时不能直接使用float、double等类型,需要使用BigDecimal等工具类进行处理。值得注意的是,浮点数的存储有一个国际规范,即IEEE754。这种存储格式略显复杂,但其不能准确表示十进制数的本质没有改变。