C语言:float型与double型的转换问题

main()
{int a;float b,c;
a=12;b=365.2114;
c=(float)a+_b;
printf("a=%d,b=%f,c=%f\n",a,b,c);
}
为什么输出的时候b不是365.211400,而是365.211395?

float精度不高,保存小数的位没double多。假如float用8位保存小数点后的数据,精度是2的负8次方,也就是1/256 的精度,而double比float多,比如说是16位,就是1/65536 的精度。

需要明白的是,浮点数表示的数是有限的,不可能表示所有的实数,由于精度的原因,会有偏差。

你可以换成double型,显示的结果就会更精确了。
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言:float型与double型的转换问题
float精度不高,保存小数的位没double多。假如float用8位保存小数点后的数据,精度是2的负8次方,也就是1\/256 的精度,而double比float多,比如说是16位,就是1\/65536 的精度。需要明白的是,浮点数表示的数是有限的,不可能表示所有的实数,由于精度的原因,会有偏差。你可以换成double型,显示的...

C语言中float型数据运算时转换为double还是double?
凡有浮点参加的运算,一律转换为double型再运算,所以3.0\/2和3\/2.0运算时,都是3.0\/2.0=1.5 建议你看下C语言的类型转换规则。C语言隐式类型转换规则 C语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间...

C语言中的float和double引发的问题
f默认是float,而float占4字节,double是8个,所以读进去都是0。改成%lf来读double

c语言,我将float换成double为什么不对?
至少要把4\/3中的一个改为浮点数,不然会执行整数除法。double:include<stdio.h>#define Pi 3.14int main(){double r,h;scanf("%lf,%lf",&r,&h); \/\/lfprintf("r=%f,h=%f\\n",r,h);printf("圆的周长=%.2f\\n圆的面积=%.2f\\n球的表面积=%.2f\\n球的体积=%.2f\\n圆柱体积=...

C语言float 和double的问题
计算时,float与double 内部都转换成统一的标准双精度格式计算,再返回你对应类型的值;保存到存储器时,float短,节省空间。

c语言程序float和double怎么互相切换?
可以用判断语句啊,if() {} else {}来处理,如果只是在其中某处要用到,只需要用强制转化就可以了,强制转化主要是高级向低级的转换,如double向float的转换,低级向高级不用强制转化。

C语言float和double的问题?
这两个数输出的都是浮点型,不是整数。a输出的是83.00,只是这个数的小数部分是0而以,它是一个浮点型的数。b输出的是83.00,只是这个数的小数部分也是0而以,它也是一个浮点型的数。

c语言float和double的问题。
scanf 时,格式定义和类型必须一致,输出时可以当成float型,但可能会有精度和溢出的问题。所以你可以只把下面的改成lf scanf("%f",&r); ---> scanf("%lf",&r);这儿是原因:Because C will promote floats to doubles for functions that take variable arguments. Pointers aren't promoted ...

关于C中float和double的问题
float x1,x2,mid_trm;printf("Please input the three coefficients of the function:");scanf("%f%f%f",&a,&b,&c);\/*这里请吧%f改成%lf(double),把%f改成%d(int)*\/ printf("%f",area);也一样,当你输出的数如area是float型的时候,请你把%f注意下,是double就把%lf写上,这是...

c语言float和double的问题
额double 不是常整型 是双精度浮点型 而float是单精度的 出来的double有小数是很正常的 至于常整型 不知道是不是楼主打错了 如果是长整型 那应该是 long 如果是常量整型 c中没有这个定义 与其相近的是 const int 是只读整型 或者宏定义 #define 但是宏就不存在什么型了 ...

相似回答