浮点运算,为何0.1+0.2=0.30000000000000004?而非0.3!
2018-08-22 08:57
399 查看
浮点运算,为何0.1+0.2=0.30000000000000004?而非0.3!
小数的进制表示了1的细分的份数,十进制的1能细分10份,
二进制的1只能细分两份。一斤肉用十进制切可以切出1两来,
用二进制只能切出五两,去买三两肉,十进制可切三个一两给你,
用二进制就麻烦了,给你五两太多,只能把五两肉再切2份,
成了二两五,又不够三两,就再把剩下的二两五再切2份,
成了一两二分五,二两五加上一两二分五就超了三两了,
不行,要把那另一个一两二分五再切2份去合成三两肉……
但这样切下去永远不能给你正好的三两肉。
相关文章推荐
- JavaScript的设计缺陷?浮点运算:0.1 + 0.2 != 0.3
- 0.1+0.2!=0.3, why? how to solve? -- 简议javascript的浮点运算
- javascript 二进制浮点数的问题,0.3-0.2不等于0.1
- javascript中0.1 + 0.2 != 0.3?
- 0.1+0.2==0.3?
- [内存管理]管理图解v0.1 v0.2 v0.3
- 关于0.3-0.2 != 0.1 的问题
- [内存管理]管理图解v0.1 v0.2 v0.3
- 0.1+0.2等于0.3吗
- 揭秘 0.1 + 0.2 != 0.3
- 0.1 + 0.2 !== 0.3 就是要说清楚因为个啥?
- 解决JavaScript中0.1+0.2不等于0.3问题
- 如何解决JavaScript中0.1+0.2不等于0.3
- 浮点数存储 0.1 0.2 实际偏大
- 0.1+0.2!=0.3
- 注意兼容浮点运算误差 0.7 + 0.1 ==0.8 为false
- js精确计算:0.1 + 0.2 === 0.3 未必为true哦!
- 揭秘 0.1 + 0.2 != 0.3(php 请自觉点用round)
- 为什么 javascript 中 0.1 + 0.2 !== 0.3 为 True