01+0.2

2020-05-08  本文已影响0人  路人甲Boger

乍看,这是个什么标题,写的是0.3?没那么简单吧,对的今天就要说说0.1+0.2。或许有人知道,那就请跳过。谢谢!!

通常我们认为的此题答案不就是0.3 吗?是的,但是计算机是否也是如此认为的呢,我们不妨试一下。结果请看图一

图一

(ÒωÓױ)! 

这个是js 代码计算的结果,感兴趣的同学可以用其他语言试下,结果是否也是如上。

看到这里有些小伙伴就不淡定了,这么简单的加法,难道有发现bug 了?

非也请继续往下看。

我们知道,计算机只认识1和0,那么这个加法怎么在计算机中表示的呢。先看下0.1在计算机中怎么表示。

学过计算机的童鞋,肯定做过这样的题目,二进制转十进制,十进制转二进制。但是在学校做的都是整数的转换。那么小数怎么转换的呢?请参考

十进制小数转二进制小数:小数部分 乘以2 取整,直到没有小数部分

二进制小数转十进制小数:二进制小数部分除以 2的n次方结果相加

如上规则计算下 0.1 表示为二进制则是:

上一篇下一篇

猜你喜欢

热点阅读