C 语言中浮点数表示大量数字的小数类型,使用 IEEE 754 标准表示,以底数 2 的科学计数法展开。它支持加减乘除运算,但需注意精度有限、可能溢出下溢以及采用舍入到最接近偶数的舍入方式。

C 语言中浮点数的计算
浮点数的概念
浮点数是一种可以表示小数和小数点两侧有大量数字的数字类型。它使用科学计数法,以底数 2(即二进制)表示,形式为:
(-1)^s * (1.F) * 2^E
其中:
立即学习“C语言免费学习笔记(深入)”;
- s 是符号位(0 表示正数,1 表示负数)
- F 是小数部分
- E 是指数部分
浮点数的表示
在 C 语言中,浮点数使用 IEEE 754 标准表示。有两种主要浮点数类型:float 和 double。
-
float占 4 个字节,具有 24 位小数部分和 8 位指数部分。 -
double占 8 个字节,具有 53 位小数部分和 11 位指数部分。
浮点数的运算
C 语言支持浮点数的加减乘除运算。浮点数运算遵循以下规则:
- 符号位:结果的符号位由运算的符号位确定。
- 小数部分:小数部分进行二进制加法或减法。
- 指数部分:指数部分进行二进制加法或减法。
- 舍入:结果可能需要舍入,以满足浮点数表示的精度限制。
注意事项
在使用浮点数进行运算时,应注意以下事项:
- 精度:浮点数的精度有限,因此可能产生舍入误差。
- 溢出和下溢:如果结果超过浮点数类型支持的最大值或最小值,则会发生溢出或下溢。
- 舍入方式:C 语言使用舍入到最接近的偶数模式。
示例代码
以下代码展示了 C 语言中浮点数运算的一个示例:
#includeint main() { float x = 1.2345; float y = 5.6789; // 加法 float sum = x + y; // 减法 float difference = x - y; // 乘法 float product = x * y; // 除法 float quotient = x / y; // 打印结果 printf("Sum: %.2f\n", sum); printf("Difference: %.2f\n", difference); printf("Product: %.2f\n", product); printf("Quotient: %.2f\n", quotient); return 0; }
输出结果:
Sum: 6.91 Difference: -4.44 Product: 7.0305 Quotient: 0.217560











