C语言中float是什么类型?

我请分析下,C语言中float是什么类型?
最新回答
送沵的獨白

2024-10-14 09:33:32

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