
0.1 + 0.2 为什么得出来的是 一个大于 0.3 的数,而不是 一个小于 0.3 的数?
( 0.1 + 0.2 = 0.30000000000000004 )
1 AngelCriss 2018 年 4 月 21 日 via Android 0.1 + 0.2 不等于 0.3 ?难道我小学数学老师原本是教体育的? |
2 KenroHoro 2018 年 4 月 21 日 IEEE754 |
3 wdd2007 2018 年 4 月 21 日 浮点数比较无意义 |
4 jingous 2018 年 4 月 21 日 把两个小数转化为二进制加一下看看 |
6 flowfire 2018 年 4 月 21 日 via iPhone 。。。。四舍和五入都属于精度丢失 |
7 lance6716 2018 年 4 月 21 日 via Android IEEE754 |
9 bkmi 2018 年 4 月 21 日 via Android 去搜搜计算机中浮点数的表示方法… |
10 q8515620 2018 年 4 月 21 日 via Android 我是认为,精度丢失不是数值上的丢失。 精度指的是精确度(或者说是误差?) |
11 jingous 2018 年 4 月 22 日 所谓的精度损失并不是每次都变小。 精度损失体现在两个方面:一是原始的表示不精确,二是就算过程阶码较小的元素为丢位 然后,花费半个多小时推导了过程,仅供参考: https://pan.baidu.com/s/1XA145TEiMo2b3GgL7HkOiQ |
13 rabbbit 2018 年 4 月 22 日 |
14 rabbbit 2018 年 4 月 22 日 至于为啥多出来个.000004 因为超过 52 为会自动进一舍零 0.0001100110011001100110011001100110011001100110011001100 变成了 0.0001100110011001100110011001100110011001100110011001101 要是算 |
15 rabbbit 2018 年 4 月 22 日 convert('0.0100110011001100110011001100110011001100110011001100110', 2) 结果是 0.3 |