C语言float有效位数和小数点后位数问题
(1)“float有效位数是7位,小数点后最多能存6位”,这句话没问题吧?(2)0.000001和1E-6在内存中的存储内容是一样的吗?如floata=0.0000011...
(1)“float有效位数是7位,小数点后最多能存6位”,这句话没问题吧?
(2)0.000001和1E-6在内存中的存储内容是一样的吗?如float a=0.00000112在输出显示的是0.000001?float a=1E-8输出显示的是什么? 展开
(2)0.000001和1E-6在内存中的存储内容是一样的吗?如float a=0.00000112在输出显示的是0.000001?float a=1E-8输出显示的是什么? 展开
1个回答
展开全部
(1) 有问题.
float a=0.000123456; // 有效位数字6位,小数点后...
printf("%20.10f",a);
可以输出 0.0001234560
(2) 0.000001和1E-6在内存中的存储内容是一样的.
输出显示 与格式有关,可以定点格式,可以科学记数格式,位数场宽都可自己给定。
a=1E-8 看你给的格式。
float a=1E-8;
printf("%20.10f ",a);
printf("%g",a);
0.0000000100 1e-008
float a=0.000123456; // 有效位数字6位,小数点后...
printf("%20.10f",a);
可以输出 0.0001234560
(2) 0.000001和1E-6在内存中的存储内容是一样的.
输出显示 与格式有关,可以定点格式,可以科学记数格式,位数场宽都可自己给定。
a=1E-8 看你给的格式。
float a=1E-8;
printf("%20.10f ",a);
printf("%g",a);
0.0000000100 1e-008
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询