C语言中的double和float

C语言中的double和float类型各自是保留小数点后几位?

double与float的区别在于在内存中存放数据时占用的内存不一样,前者8字节,后者4字节,也就是前者保存的小数位数比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。

参考资料:http://zhidao.baidu.com/question/23266843.html?fr=qrl3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-27
double
就是双进度浮点数,float就是单精度浮点数。
就是浮点数变量。
定义一个浮点数
float
a;
double
b;
浮点数可以进行加减乘除等运算
a=1.5*6;等。。。C语言第一节课的内容
第2个回答  2020-03-01
主要区别就是精度不同
都属于浮点数
也就是小数
,但精度不同
即取值的范围不同,其中取值范围double要比float大
,因此所占内存位数也不同
,一般的来说
float

4字节
double
占8字节
对编程人员来说,double

float
的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,c语言中数学函数名称double

float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
第3个回答  2019-01-17
数据类型。double为最优先级,两者输出的数据后面带六位小数。没有什么用法可言,如果真要说用法就是,给你举个例。double
shu_qinghua;/*定义shu_qinghua(变量)为double*/shu_qinghua=50;/*给它赋值为50*/printf("%f\n",shu_qinghua);/*输出的结果为50.000000因为定义的为double,保留六位小数*/望采纳^-^
第4个回答  2007-07-20
自己试验下,如果如下代码
#include<stdio.h>
#include<iostream.h>
using namespace std;
main()
{
float a=3.14159265358974263745365438476313668798;
double b=3.14159265358974263745365438476313668798;
cout<<a<<endl;
cout<<b<<endl;
}

注:圆周率后面的大部分小数均为捏造,请勿对号入座。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网