C语言中float是什么类型?

Python07

C语言中float是什么类型?,第1张

C语言中float是:单精度浮点型数据类型。

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。

由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。

应用经验:

float浮点数两个浮点数不相等和精度的问题,在实际开发中,经常用整数代替浮点数,因为整数是精确的,效率也更高。

例如人的身高一米七五,以米为单位,用浮点数表示是1.75米,如果以厘米为单位,用整数表示是175。

在 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就没事了。

以上内容参考:百度百科-FLOAT

在C语言源码中,只能在浮点数后面加f来表示单精度浮点数。例如:float f=1.0f\x0d\x0a单精度浮点数(Single)\x0d\x0a用来表示带有小数部分的实数,一般用于科学计算。\x0d\x0a占用4个字节(32位)存储空间,包括符号位1位,阶码8位,尾数23位。其数值范围为-3.4E38~3.4E38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用"E"或"e"表示。\x0d\x0a单精度浮点数有多种表示形式:±n.n(小数形式) ±n E ±m(指数形式) ±n.n E ±m (指数形式)\x0d\x0a如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。\x0d\x0a双精度浮点数(double)\x0d\x0a用8个字节(64位)存储空间,包括符号位1位,阶码11位,尾数52位。

浮点数就是实数,有两种表示方式:十进制形式(如123,123.0)和指数形式(如123e3,e前必须有数字,后面必须是整数)

float比特数为32,printf函数中用"%f"作为输出一个实数的格式符

简单地说明下,不知道是否符合你的要求,呵呵