c语言double和float区别

作者&投稿:集咱 (若有异议请与网页底部的电邮联系)
~

c语言double和float区别有精度不一样,float是单精度,double是双精度,表示小数的范围不一样,double能表示的范围比float大,double在内存中,占8个字节,float在内存中,占4个字节。

%f默认保留6位小数,不足位以0补齐,超过六位按四舍五入的方法保留6位,若想输出指定位数,在格式化输出语句中表示变量的字母及%中间的部分控制输出位数,小数点后是小数位数。

C语言中,float和double都属于浮点数。区别在于:double所表示的范围,整数部分范围大于float,小数部分,精度也高于float。例如圆周率3.1415926535这个数字,如果用float来表示,最多只能精确到小数点后面的6位。而double大约能精确到小数点后面的15位左右,具体精确到几位,跟所用的编译器有关,但是各个编辑器编译器之间,也是相差不大的。

c语言的介绍

C语言是一门面向过程的计算机编程语言,C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。

C语言特点:简洁的语言、具有结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序。



C语言中DOUBLE型数据储存结果
答:float类的指数是8位移码,最大为127最小为-127,127用来作2的指数,为2^127,约等于 1.7014*10^38, 而我们知道,floa示数范围约为- 3.4*10^38---3.4*10^38, 这是因为尾数都为1时,即1.11..11约为2,因此浮点数的范围就出来了.double的情况与float完全相似....

一个c语言问题 拜求高人指教我输入a b c 后 为什么不管输入的是什么数...
答:void main(){ double a,b,c,dt,x1,x2,sdt,temp;printf("请输入a,b,c\n");scanf("%lf%lf%lf",&a,&b,&c);//此句进行修改,格式控制符使用%lf dt=(b*b)-(4*a*c);if(a==0)printf("这不是二次函数,请再次输入");else {if(dt<0)printf("没有根\n");else { sdt=sqr...

在C语言里,怎么把floa数据类型,转换成unsigned char数据类型?
答:你这种操作要进行指针强制转换才能进行,执行结果也是可以琢磨出来的;但即便是进行了操作也可能达不到你的目的……因为float型数在计算机中是用尾数和阶码方式表示的,阶码用移码表示,尾数用原码表示,且尾数被变成了大于1而小于1的数;而unsigned char型数是用被码表示的;虽然它们都用4个字节表示,但...

c语言求解释个编程
答:ave=(float)s/n;最后把你输入全部输入的数字相加再求平均值 printf("max=%d,min=%d,ave=%f",max,min,ave);输出最大值,最小值和平均值 } 望采纳,有问题可再问^-^

C语言求x*(x*(x-5+16)) - 80 = 的根了,看看那里错了
答:①scanf("%lf,%%lf", &x1, &x2); 多了个百分号 ②y = f2(float x1, float x2);x = f1(float x1, float x2);去掉float 调用时参数不需写类型 ③你的变量和函数区分的不清楚,导致编译不通过,比如说变量为f1,f2 而函数又有f1(),f2();建议区分下函数名和变量之后再试试 ...

...求圆柱体的表面积,C语言。 输入底面半径r和高h,pi为floa_百度...
答:include <stdio.h> define PI 3.1415926 int main(void){ float r, h;scanf("%f %f",&r,&h);printf("%.3f\n",2.0 *PI *r *r +2.0 *PI *r *h);return 0;} //注意输入为浮点数

C语言参数问题,详细解答下下面4个程序为什么都没return值,有的参数...
答:这就是值传递和引用传递的问题呀,第二个是把变量的地址传进函数之中,此时函数就是在a,b的地址上做操作,所以就能够改变该值,而第三个传递的是值类型,值类型的传递只是传递一个参数的副本,也就是此时在内存中重新生成了一个a(地址不同与原本a的地址),然后将这个a传入函数运算,虽然在函数中...

...i=8.3 B.long l=8.4f C.int i=(boolean) double d=100
答:将“短”类型100赋给“长”类型double型变量d时,会自动将“短”类型提升为“长”类型。A将“长”类型值赋给了“短”类型变量,会产生精度损失,所以编译时会警告。B的理由与A一样,虽然long与float(8.4f是float型)的物理长度一样,但轮回“长度”还是float为上。C没这种写法。

急求大学的PASCAL语言试卷
答:17.设有如下的变量定义: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2 则以下符合C语言语法的表达式是 A)a+=a-=(b=4)*(a=3) B)x%(-3) C)a=a*3=2 D)y=floa(i)18.假定有以下变量定义: int k=7,x=12 则能使值为3的表达式是 A)x%=(k%=5) B)x%=(k-k%5) C...