float a = 123.456;printf("%11.8f\n", a);应该输出什么?
来源:百度知道 编辑:UC知道 时间:2024/05/10 10:41:23
main()
{
float a = 123.456;
printf("%11.8f\n", a) ;
getch();
}
这个程序不是应该输出123.45600000吗?
怎么我这个编完输出个123.45600128.
谁能帮我解释下
{
float a = 123.456;
printf("%11.8f\n", a) ;
getch();
}
这个程序不是应该输出123.45600000吗?
怎么我这个编完输出个123.45600128.
谁能帮我解释下
计算机中浮点数的表示不是精确的,存在一定的误差,float类型能表达的有效数字约为7位
因为计算机存储小数的精度有限。 这个问题最容易表现在float上, double由于精度高很多,不太容易看出来
main()
{
float a = 123.456;
printf("%11.8f\n", a) ;
printf("%11.8f\n",123.456);
getch();
}
float声明的是一个大概值
printf("%11.8f\n", a) ;
该式表示以11位有效数,其中8位为小数位
但是float为浮点型数,很难确定它的后几位,因为它的精度有限
float,double,赋值时候为什么要加f,d.例如:double a=0.1d;float b=0.2f;
float*b,a=&a 其中的*号和&号是什么意思的?
float a=213.82631; printf("%-4.2f\n",a);输出什么?
int a=2,b=3; float x=3.5,y=2.5; (float) (a+b)/2+(int)x%(int)y怎么算?
c语言浮点型怎么可以付整型值float A=1;
如何运算(float)(a+b)/2
C++中,float a;int b,c;咋样才能使a=b/c的结果显示为小数
定义float a=25,b,*p;scanf("%f",&b);*p=b. 这样写为什么不正确?
c++中定义了a 为float类型为什么a =7/5结果是1?但sqrt(7)却是小数?怎样使a 为小数?
a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x/(int)y的值?