c – 由于浮点舍入错误,“floor”是否可能返回不准确的结果?
发布时间:2020-12-16 10:53:36 所属栏目:百科 来源:网络整理
导读:我知道浮点数通常包括舍入误差. 当你取浮点(或双)的地板或天花板以将其转换为整数时,结果值是精确的还是“浮动”值仍然是近似值? 基本上,像floor(3.14159265)这样的东西是否有可能返回一个基本上为2.999999的值,当你试图将它转换为int时会转换为2? 解决方
我知道浮点数通常包括舍入误差.
当你取浮点(或双)的地板或天花板以将其转换为整数时,结果值是精确的还是“浮动”值仍然是近似值? 基本上,像floor(3.14159265)这样的东西是否有可能返回一个基本上为2.999999的值,当你试图将它转换为int时会转换为2? 解决方法
floor()函数返回一个精确整数的浮点值.所以你的问题的前提是错误的. 现在,floor(x)返回不大于x的最接近的整数值.这总是如此 floor(x) <= x 并且没有整数i,大于floor(x),使得i <= x. 看楼(3.14159265),这将返回3.0.对此没有争议.没什么好说的. 有趣的是,如果你写floor(x),其中x是算术表达式的结果.浮点精度和舍入可能意味着x落在整数的错误一侧.换句话说,产生x的表达式的真值大于某个整数i,但是当使用浮点算法计算时,x小于i. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iphone – 为什么我的文件不进入“en.lproj”而是进入Xcode
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标
- 01-正则表达式的使用
- c – 在std :: common_type的实现中发现这种情况有什么意义
- 通过自己写的方法实现不用ajax的POST方法请求(在网上看到的
- c# – 允许使用来自LINQ查询的ToDictionary()重复键
- iphone – 如何保存图像到应用程序tmp目录
- iphone – 如何在XCode中构建Framework类?
- Flash / Flex之外的Actionscript 3
- FlexViewer 框架更改比例尺(创建比例尺)