Aid*_*n.T -1 c# c++ python math f#
0.1 + 0.2 == 0.3 ==> False
Run Code Online (Sandbox Code Playgroud)
我在python,c#,c ++,F#,Visual Basic.NET,ASP.NET中尝试过这个!
0.1 + 0.2 == 0.30000000000000004 ==> True
Run Code Online (Sandbox Code Playgroud)
对于我上面提到的所有语言,这都是正确的.为什么会出现这种不合逻辑的不平等?
Python有一个十进制库,允许你将其评估为true(同时也解释了为什么它的错误),事实上,它们几乎使用了相同的例子:http://docs.python.org/ 2 /库/ decimal.html
精确性延续到算术中.在十进制浮点数中,0.1 + 0.1 + 0.1 - 0.3正好等于零
还有一个相关的,"每个计算机科学家都应该了解浮点数",这是多年前写的一篇开创性的文章,今天仍然如此:http://www.fer.unizg.hr/_download/repository/paper%5B1%5D.pdf
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |