[英]Implicit conversion of integers to floats in c
我无法理解为什么这段代码的输出是 2147483648:
#include <stdio.h>
int main (void){
float f = 2147483638;
printf("%f",f);
}
我试图找到使用 IEEE 754 标准进行浮点表示的解释,但使用我的计算,我得到输出应该是 2147483520,而不是 2147483648。感谢您的帮助!
这就是float
在您的系统上工作的方式。
请注意,C 标准有意灵活处理浮点类型的类型和大小。 甲float
不必是IEEE754 32位浮点型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.