复现c primer plus 上的代码,出了点错误,门芯

学习c primer plus 复现书上代码时生成不对

遇到的现象和发生背景,请写出第一个错误信息

第二行0x1f4000000
这里面0太多了。书上就没有这么多零。
运行结果;

img

32000.000000 can be written 3.200000e+04
And it's 0x1.f400000000000p+14 in hexadecimal ,powers of 2 notation
2140000000.000000 can be written 2.140000e+09
0.000053 can be written 5.320000e-05

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我感觉可能是编译器的问题,但是都编译出来了。

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

#include
int main(void) {
    float a=32000.0;
    double abet = 2.14e9;
    long double dip = 5.32e-5;


    printf("%f can be  written %e \n", a, a);
    //下一行要求编译器支持c99或其中的相关特性
    printf("And it's %a in hexadecimal ,powers of 2 notation\n", a);
    printf("%f can be written %e \n", abet, abet);
    printf("%Lf can be written %Le \n ", dip, dip);


    return 0;
    

}

img

没太懂你意思,如果是精度问题的话,一般可能还和电脑的CPU位数有关系,32位和64位的电脑的运行结果可能也会有差异。