区别:
一、精度的区别
float为单精度,内存中占4个字节,有效数位是7位。
double为双精度,占8个字节,有效数位是16位。
二、指数和尾数长度的区别
float指数长度为8位,尾数长度23位。
double指数长度为11位,尾数长度52位。
三、取值范围的区别
float的取值范围为3.4E-38~3.4E+38。
double的取值范围为1.7E-308~1.7E+308。
四、IEEE的区别
float的IEEE为1,遵从的是IEEE R32.24 。
double的IEEE为1,但遵从的是IEEE R64.53。
扩展资料
浮点型变量:
实型变量分为两类:单精度型和双精度型,
其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
实型变量说明的格式和书写规则与整型相同。
例如: float x,y; (x,y为单精度实型量)
double a,b,c; (a,b,c为双精度实型量)
实型常数不分单、双精度,都按双精度double型处理。
参考资料来源:百度百科—float
参考资料来源:百度百科—double
参考资料来源:百度百科—浮点型数据
float和double都是C++中的浮点型数据类型,三者的区别是:
1、精度是不同的。
浮点类型是单精度浮点数,双类型是双精度浮点数。
2、分配存储空间。
c++编译器为浮点类型分配4字节,为双类型分配8字节。
3、有效位的个数是不同的。
Float可以提供6位有效数字,double可以提供15位有效数字。
扩展资料:
数据介绍
1、转换成十进制
它由0-9位数字和小数点组成。例如,0.0,。255.789, 0.13, 5.0, 300, -267.8230都是合法的实数。
2、指数形式
它由十进制数字、顺序码的符号“e”或“e”以及顺序码(只能是整数,并且可以签名)组成。
其一般形式为en(一个十进制数,n为十进制整数),其值为a*10, n如:2.1 E 5(等于5的2.1 * 10),3.7依照(等于二十3.7 * 10)的力量,0.5 E 7(等于0.5 * 10的7次方),0.5 E 7(等于0.5 * 10的7次方),-2.8依照(等于- 2.8依照(= - 2.8 * 10-2th权力)。
下面是不合法的实数345 E(没有decidecimal点)7(十进制数在E 7(E秩序象征7)E-5(5号(5号(没有秩序的象征)5(这项研究的结果如下:1。No) 2.7E(无订单编号)。
标准C允许浮点数使用后缀。后缀“f”或“f”表示该数字是浮点数。例如,356f和356。是等价的。例2.2说明了这种情况:
Void main()
{
Printf ("% f\ n% f\ n", 356。,356 f);
}
Void指定main不返回任何值,并且printf显示结果的结尾
浮点变量:
实变量分为单精度变量和双精度变量。
类型描述符是浮动单精度描述符和双精度双精度描述符。在Turbo C中,单精度类型占用内存空间4字节(32位),其数值范围为3.4E-38-3.4E+38,只能提供7位有效数字。双精度类型占用内存空间8字节(64位)。其数值范围为1.7E-308-1.7E+308,可提供16位有效数字。
实变量具有与整数相同的格式和编写规则。
例如,浮动x, y;(x, y为单精度实型量)
双a b c;(a、b、C为双精度实型量)
实型常数按双精度处理,不需要单精度或双精度。
参考文献:
float和double都是C++中的浮点型数据类型,它们的区别:
一、精度的区别
float为单精度,内存中占4个字节,有效数位是7位。
double为双精度,占8个字节,有效数位是16位。
二、指数和尾数长度的区别
float指数长度为8位,尾数长度23位。
double指数长度为11位,尾数长度52位。
三、取值范围的区别
float的取值范围为3.4E-38~3.4E+38。
double的取值范围为1.7E-308~1.7E+308。
四、IEEE的区别
float的IEEE为1,遵从的是IEEE R32.24 。
double的IEEE为1,但遵从的是IEEE R64.53。
参考资料来源:百度百科——浮点型数据
1、精度不同
float类型是单精度浮点数,double类型是双精度浮点数。
2.分配的存储空间
C++编译器为floatL类型分配4字节,而为double类型则分配8字节。
3.拥有的有效数字位数不同
float可提供6位有效数字,而double则可以提供15位有效数字。
扩展资料
float和double的存储方式:
float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而double 遵从的是R64.53。R32.24和R64.53的存储方式都是用科学计数法来存储数据的,比如8.25用十进制的科学计数法表示就为:8.25*10^0 ,而120.5可以表示为:1.205*10^2 ,。
而计算机根本不认识十进制的数据,他只认识0,1,所以在计算机存储中,首先要将上面的数更改为二进制的科学计数法表示,8.25用二进制表示可表示为1000.01,120.5用二进制表示为:1110110.1用二进制的科学计数法表示1000.01可以表示为1.0001*2^3 。
1110110.1可以表示为1.1101101*2^6 ,任何一个数都的科学计数法表示都为1.xxx* 2^n, 尾数部分就可以表示为xxxx,第一位都是1嘛,将小数点前面的1省略,所以23bit的尾数部分,可以表示的精度却变成了 24bit。
参考资料:百度百科-C++
区别
1、表示的范围区别。
(1)单精度浮点型(float )专指占用32位的存储空间,字节数4,可以表示十进制的6或7位有效数字。
(2)双精度型(double)占用64位的存储空间,字节数8,可以表示十进制的15或16位有效数字。
2、用法区别。
(1)单精度浮点型(float ):当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
(2)双精度型(double):当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
3、运算速度、消耗内存不同。double消耗内存是float的两倍,double的运算速度比float慢得多。
拓展资料:
1、.单精度浮点型(float)和双精度型(double)是浮点型的两种类型。浮点数表示法利用科学计数法来表达实数(real),当计算的表达式有精度要求时被使用。例如,计算平方根,或超出人类经验的计算如正弦和余弦,它们的计算结果的精度要求使用浮点型。
2、C标准规定的浮点型有float、double、long double,和整型一样,既没有规定每种类型占多少字节,也没有规定采用哪种表示形式。大部分平台的浮点数实现遵循IEEE 754,float型通常是32位,double型通常是64位。 long double型通常是比double型精度更高的类型,但各平台的实现有较大差异。
参考资料:百度百科-浮点型