wdjh.net
当前位置:首页 >> C语言中FloAt和DouBlE为什么输出会完全不一样? >>

C语言中FloAt和DouBlE为什么输出会完全不一样?

float 和 double 在输出的时候其实都是用%f输出。c语言中,浮点型输出默认都是输出小数后6位。你为什么会认为double会输出到小数后15位呢,我感觉你是认为double的精确度有15位,float的精确度是7位,对吧,其实事实double和float在输出的时候都...

很正常的嘛,浮点的存储是按照IEEE754标准的。简单的说它内部是2进制的,63.245 根本不可能用2进制的浮点精确表示,所以才会有很少的误差。这是正常的。

double 和 float都可以用%f输出。默认6位小数。如果是其它要求,需要指定。如 printf("%.11lf\n%.3f",a,b);

我不太清楚你想问什么 不管什么编译器,都有 float占4个字节,即32位 double占8个字节,即64位 具体在输出中,一般情况小数点以后默认6位,但你可以通过输出函数printf控制,如printf("%.3f", 1.234);输出小数点后3位 具体有效数字位和小数部分...

double精度更高,是指它存储的小数位数更多,但是输出默认都是6位小数,如果你想输出更多小数,可以自己控制,比如 “%.10lf” 就输出10位小数,望采纳

float为单精度,占4字节(32位)的内存空间,它的数值有效范围是-10的38次方到10的38次方,只表示7位有效数字。而double为双精度,8字节,正负10的308次方之间,能精确到16位。这应该就是他们的的最基本的区别吧。。。 中国物联网校企联盟技术部

float 为单精度,有效数字为6~7double 为双精度,有效数字为15~16 但他们在输出时,小数点后都有6位小数 小数是有精度限制的,像3.99999这类的没办法精确表现出了,只是一个近似的数

你scanf和printf 两个程序中格式控制全是是%f,%f是float的格式控制,%lf才是double的。

这里有个概念要搞清楚,精度和输出小数点后多少位不是一回事。精度是说某种类型的浮点数在C中计算时有多少位是有效的,这实际上是包括整数部分的,但不包括小数点那一位;而输出小数点后多少位是由输出函数printf中的控制字符串确定的。float的...

1 printf输出float和double都可以用%f,double还可以用%lf。 2 scanf输入float用%f,double输入用%lf,不能混用。

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com