C语言单精度浮点型的输出

2024-12-17 20:05:50
推荐回答(3个)
回答1:

程序在处理浮点数精度的问题过程中,由于浮点数在内存里是按2进制存储的。它的有效数值在小数点后的6-7位,输出过程中会有偏差,所以一般来说输出浮点数都要指定精度,比如:
printf("%.3f\n",g);
在%f前面加.3表示小数点后保留3位,同样%2.3f可以在整数位保留2位的同时小数也保留3位。

回答2:

双精度浮点数 double 占用8个字节
精确到小数点后6位
单精度浮点数 float 占用4个字节
精确到小数点后3位

回答3:

因为a是单精度,有效位是7位,超过的部分是系统随机给出的