Yve*_*ann 6 c++ floating-point type-conversion
这是考试中的一个问题,但没有明确说明原因。这是一个对/错类型的问题;
存在一个类型为float的值x,该值保持:x + 1 == x ...
没错 为什么呢?
我想这与类型转换有关吗?但是我无法想象这将如何工作。
当然。
#include <limits>
#include <iostream>
int main() {
float f = std::numeric_limits<float>::infinity();
std::cout << (f == f + 1) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
正如Deduplicator指出的那样,如果您float的大小足够大(对我来说适用float f = 1e20;),它也会起作用,因为添加的内容1超出float的准确性。
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |