`float` 类型在 C 语言中占用 4 个字节(32 位),其结构按照 IEEE 754 标准分为三个部分:
符号位(sign):1 位,表示数值的正负号。
指数部分(exponent):8 位,用于表示数值的范围,通过偏移量来确定实际指数。
尾数部分(mantissa):23 位,用于表示数值的有效位,隐含一位 1,所以实际上有 24 位有效数字。
因此,`float` 类型的有效数字位数通常是 23 位。然而,请注意,这个精度可能受到编译器和硬件架构的影响,并且当将 `double` 类型赋值给 `float` 类型时,系统可能会截取相应的有效位数。