#include <stdio.h>
void main() {
    float num = 546.327;
    printf("the number is %f\n",num);
    enter code here
}
输出为546.327026.当我尝试不同的数字时,它总是在点后打印6个数字,而后3个是随机的.
浮点数以1/2 ^ N的分数的总和存储
所以:第一个小数位是0.5,第二个是0.25,第三个是0.125等
因此,他们的表示形式并不精确......所以,如果546.327无法表示总和1/2 ^ N的分数,它将近似于某个接近的...这就是为什么你得到"随机数字",它们根本不是随机的,这只是一个舍入不准确.
如果您尝试打印另一个可以用1/2 ^ N的总和精确表示的数字,您将得到确切的数字.即546.5,546.75等