c语言里面的float是什么意思

C语言中float浮点型数据类型,FLOAT数据类型用于存储单精度浮点数或双精度浮点数。

1、float的作用:

FLOAT 数据类型用于存储单精度浮点数或双精度浮点数,浮点数使用 IEEE(电气和电子工程师协会)格式。

浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数,尾数表示一个介于 1.0 和 2.0 之间的数,由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。

此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。

2、如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。

在这里插入图片描述

意思是浮点型数据类型,通俗点讲利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。

float 占用32位存储空间的单精度(single-precision )值。在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,浮点型的变量是有用的。

在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到目前为止使用最广泛的是浮点表示法。相对于定点数而言,浮点数利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。

在这里插入图片描述

float和double类型的区别如下:

1、变量类型不同

float属于单精度型浮点数据。

double属于双精度型浮点数据。
在这里插入图片描述

2、指数范围不同

float的指数范围为-127~128。

double而double的指数范围为-1023~1024

3、表达式指数位不同

float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)

double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)

4、占用内存空间不同

float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。

double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

5、有效位数不同

float只能提供七位有效数字。

double可提供16位有效数字。

double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。

类型 比特数 有效数字 数值范围
float 32 6-7 -3.410(-38)~3.410(38)
double 64 15-16 -1.710(-308)~1.710(308)
long double 128 18-19 -1.210(-4932)~1.210(4932)

简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字。

参考资料:
百度百科-FLOAT

百度百科-浮点型

发布了4 篇原创文章 · 获赞 1 · 访问量 594

猜你喜欢

转载自blog.csdn.net/m1ssyAn/article/details/104183660