我一直在想,为什么当计算机应该给出准确的答案时,花车并不是真正的敏捷。我在某本书的某本书中读到,最好将变量与我们想要的值进行比较,因为计算值可能并不总是我们所期望的整数。机器如何解决这些分歧?对网站的任何链接,欢迎:)为什么在计算浮动和双打时会出现错误?
1
A
回答
3
乔恩斯基特这里提到它(向下滚动,直到你看到“双d = 0.3;”画上一个幻灯片): http://msmvps.com/blogs/jon_skeet/archive/2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx
更详细的答案在这里: http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html
+0
链接http://msmvps.com/blogs/jon_skeet/archive/ 2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx不再可用。不过,我通过https://web.archive.org访问它(2010年8月14日的快照) –
0
一个简单的答案就是计算机使用有限的数字来表示一个数字。
如果您试图表示十进制数1/7,那么它将是0.14285714 ...等等。 计算机也发生同样的情况,即试图用二进制表示1/10(0.1的十进制数),这将成为一个无限级数的井。
因此,有时你不会得到最准确的数字。
相关问题
- 1. 为什么在计算几个凸包的时候会出现Qhull错误?
- 2. 使用[]运算符时为什么会出现编译错误?
- 3. 打开Eclipse时,为什么会出现错误对话框?
- 4. 为什么会出现这个双渲染错误?
- 5. 为什么在使用printf时会出现运行时错误?
- 6. 为什么会出现分段错误?
- 7. 为什么Gradle会出现此错误?
- 8. 为什么会出现这个错误?
- 9. 为什么会出现以下错误?
- 10. 为什么会出现名称错误?
- 11. 为什么会出现分段错误?
- 12. 为什么会出现分析错误?
- 13. 在C#中,为什么我得到“无法抛出双浮动错误”?
- 14. 为什么浮动崩溃不会出现在固定位置
- 15. 为什么在使用form_for时会出现attribute_methods错误?
- 16. 为什么在IPAD上测试时会出现此错误?
- 17. 为什么datatable为空时会出现错误?
- 18. 从jquery转换为angularjs时,为什么会出现此错误?
- 19. 计算公式时出现Java错误
- 20. R个时间计算出现错误
- 21. 为什么vbScript“和”运算符会导致溢出错误?
- 22. 为什么在设置PhantomJS驱动程序时出现错误?
- 23. 为什么在iOS5中调用tweet请求时会出现动画错误?
- 24. 为什么在打印“hello”时打印2会导致错误?
- 25. 为什么我从其他人打电话时会出现此错误?
- 26. 为什么尝试使用presentViewController时会出现此错误?
- 27. 为什么链接时会出现多重定义错误?
- 28. 为什么使用prepareToRecord时会出现AudioConverterNew错误?
- 29. 为什么使用LOAD DATA INFILE时会出现错误?
- 30. 试图上传图像时,为什么会出现此错误?
也许你可以在这篇文章中找到有价值的东西:http://stackoverflow.com/questions/872544/precision-of-floating-point – DeCaf