c++中,float double区别

表示的范围?用法上的区别,各自都是该何时使用?... 表示的范围?
用法上的区别,各自都是该何时使用?
展开
 我来答
帐号已注销
2018-12-17 · TA获得超过9.1万个赞
知道小有建树答主
回答量:26
采纳率:100%
帮助的人:2.9万
展开全部

区别:

一、精度的区别

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

参考资料来源:百度百科—浮点型数据

从彗云4X
2018-12-16 · TA获得超过5838个赞
知道答主
回答量:20
采纳率:0%
帮助的人:2332
展开全部

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为双精度实型量)

实型常数按双精度处理,不需要单精度或双精度。

参考文献:

百度百科-浮点型数据

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
写在枫叶上的故事
2018-12-12 · TA获得超过2.6万个赞
知道答主
回答量:164
采纳率:0%
帮助的人:2.3万
展开全部

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。 

参考资料来源:百度百科——浮点型数据

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狼道刀2
2018-11-17 · TA获得超过1.4万个赞
知道答主
回答量:9
采纳率:100%
帮助的人:2052
展开全部

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++

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小太阳one
高粉答主

2018-07-20 · 醉心答题,欢迎关注
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:3万
展开全部

区别

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型精度更高的类型,但各平台的实现有较大差异。

参考资料:百度百科-浮点型

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式