计算机小数的运算中 0.1+0.7 < 0.8 这个是知道的 但是为什么 0.1 + 0.2 = 0.3? 0.2 转化成二进制同样是无限循环小数啊??按理不应该也是 0.1 + 0.2 < 0.3 么
计算机小数的运算中 0.1+0.7 < 0.8 这个是知道的 但是为什么 0.1 + 0.2 = 0.3? 0.2 转化成二进制同样是无限循环小数啊??按理不应该也是 0.1 + 0.2 < 0.3 么
|
1
好吧,知道原因了。
|
|
ryd994Mar 11, 2017 via Android
2
于是呢?为什么?
|
|
chingliMar 11, 2017 via Android
3
为什么会有 0.1 + 0.2 < 0.3 ?而不是 0.1 + 0.2 > 0.3 ?
看不懂你说的问题。只知道不能直接比较两个浮点数是否相等,而具体应该怎么做还是很复杂的。 https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ https://en.wikipedia.org/wiki/Unit_in_the_last_place |
|
ynyounuoMar 11, 2017
4
这个主题好尴尬啊 ………
|
|
0915240Mar 11, 2017
5
|
|
6
@chingli 因为第一反应是小数被舍去了一部分就会一直小,后来重新仔细算了下,尴尬
|
|
mengzhuoMar 11, 2017
8
以前我也很疑惑,直到我看过这个视频,这个教授很赞
?list=PLbtzT1TYeoMgzLyE9n-pJrTFZX18EUKw_ |