C++中,float数值类型跟double数值类型在实际应用中有什么区别?

如题所述

类型 比特数 有效数字 数值范围
float 32 6-7 -3.4*10(-38)~3.4*10(38)
double 64 15-16 -1.7*10(-308)~1.7*10(308)
long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)
简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字(见我的double_float文件)
还有,有个例子:在C和C++中,如下赋值语句
float a=0.1;
编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '
原因:
在C/C++中,上述语句等号右边0.1,我们以为它是个float,但是编译器却把它认为是个double(因为小数默认是double),所以要报这个warning,一般改成0.1f就没事了。

C语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit, double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范 的,float遵从的是IEEE R32.24 ,而double 遵从的是R64.53。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-03
float精度为7位,double精度为14位,一般建议直接用double,因为double和float的执行效率基本上一样,而且精度较高

C++中,float数值类型跟double数值类型在实际应用中有什么区别?
简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字(见我的double_float文件)还有,有个例子:在C...

c++中,float double区别
float和double都是C++中的浮点型数据类型,三者的区别是:1、精度是不同的。浮点类型是单精度浮点数,双类型是双精度浮点数。2、分配存储空间。c++编译器为浮点类型分配4字节,为双类型分配8字节。3、有效位的个数是不同的。Float可以提供6位有效数字,double可以提供15位有效数字。

double 和 float 保留两位小数时有什么区别?
在 C++ 中,double 和 float 都是浮点数,保留两位小数时,它们的区别如下:- double 所表示的范围,整数部分范围大于 float,小数部分精度也高于 float。举个例子:圆周率 3.1415926535 这个数字,如果用 float 来表示,最多只能精确到小数点后面的 6 位。而 double 大约能精确到小数点后面的 15 位...

求大神给说下c++中的double和float类型
float 和double类似,都是以指数形式存储的。只不过double的位数更多,所以在相同数字情况下,可以表示更大的精度,同时表示的范围也比float要大 对于float和double具体的存储形式,可以不做太多追究,如果感兴趣的话,可以看最后面一段从网上复制过来的信息 必须知道的关于float和double的 第一,float 和do...

C++中的float和double有什么区别。
double的内存内长度是float的两倍,表达范围更大

C++中float和double的区别
两者区别主要在分配存储空间和描述浮点数所拥有的有效数字位数。通常情况下:1,大多数情况下,编译器为float分配4字节,而为double则分配8字节。2,float可提供6位有效数字,而double则可以提供15位有效数字。所以在应用是需要注意定义数据的精度要求。

c++中,float double区别
一、精度的区别 float为单精度,内存中占4个字节,有效数位是7位。double为双精度,占8个字节,有效数位是16位。二、指数和尾数长度的区别 float指数长度为8位,尾数长度23位。double指数长度为11位,尾数长度52位。三、取值范围的区别 float的取值范围为3.4E-38~3.4E+38。double的取值范围为1.7E...

...c++中double和float有什么区别?啥时候该用double,啥时候该用float...
共占内存4个字节。double双精度浮点数,小数部分13到15位,共占8个字节。所以double型能表示的范围比float型的大得多,具体各能表示多大范围的数字,我也记不清,自己上网查查。如果你觉得你用的数字可能很大,或者对小数部分要求的保留精度较高,就用double型,否则为了节约内存,用float型。

C语言中float和double的区别!
区别:1、精度不一样,float是单精度,double是双精度;2、表示小数的范围不一样,double能表示的范围比float大;3、double在内存中,占8个字节,float在内存中,占4个字节。float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮...

c语言里面的float和double在实际应用中有什么区别啊
肯定是有区别的,长度4个字节的空间 也就是说一个字节是8个二进制位 那么4个就是32位哦,长度为8你想一下比它大了多少? 这么跟你讲吧!如果说单精度是洒店里面的四间房子的话那么 可以说双精度是8间.你说那个人住得多些嘛 在实际应用中假入你是一个洒店的管理员,有客人来开房他说他四个人,你...

相似回答