简单说,C 语言里的浮点型就是专门存「带小数的数」的 “盒子”—— 能装 3.14、-0.5、10.0 这类有小数部分的数,也能存超大 / 超小的数(比如 1.23×10⁵)。
核心要点(大白话):
-
核心两种类型:
float(单精度浮点型):占空间少,精度一般(约 6-7 位有效数字);double(双精度浮点型):默认常用,占空间多,精度更高(约 15-16 位有效数字);
-
存储特点:不是精确存储!比如 0.1 用
float存,实际是近似值,做小数运算可能有微小误差(比如 0.1+0.2≠0.3,而是≈0.300000004); -
关键坑:
- 别用浮点型做 “精确比较”(比如
if (a == 0.1)容易出错); - 超出范围会变成 “无穷大(inf)” 或 “非数(nan)”,比如用
float存 10³⁹会溢出。
- 别用浮点型做 “精确比较”(比如
一句话总结:浮点型是装小数 / 大数的盒子,分单 / 双精度,核心是有小数、精度有差异且非绝对精确。