#include<stdio.h>
int main()
{
float a=88888.88888;
double b=8888888888.888888888;
printf(“a is %f\n”,a);
printf(“b is %f\n”,b);
}
运算后,a=88888.890625
b=8888888888.888889
问题:1. a是单精度浮点型,有效位7位。整数位占5位,小数点后两位为无效位,小数部分的9四舍五入后面的0625是什么意思?
2. b是双精度,我吧小数点后面的8换成全5和全6的时候,并没有四舍五入而是输出如下:
b=8888888888.555555或b=8888888888.666666
当换成全7时,输出如下:
b=8888888888.777779
问:时候双精度,只有7以上的数字才四舍五入?
>> 本文固定链接: http://www.vcgood.com/archives/2894
后面的0625不是有效位,应该是随机生成的。
第二个问题,建议你上网查一下,我也说不明白,虽然脑子里知道怎么回事。