我完全理解与浮点相关的问题,但我看到了一个我无法解释的非常有趣的行为.
float x = 1028.25478;
long int y = 102825478;
float z = y/(float)100000.0;
printf("x = %f ", x);
printf("z = %f",z);
Run Code Online (Sandbox Code Playgroud)
输出是:
x = 1028.254761 z = 1028.254780
现在,如果浮动数字在我将其分配给变量x时未能表示该特定随机值(1028.25478).为什么变量z的情况不一样?
PS我正在使用pellesC IDE来测试代码(C11编译器).