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

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

参考文献:

百度百科-浮点型数据

温馨提示:答案为网友推荐,仅供参考