C 语言浮点数采用 IEEE 754 标准表示,分为单精度(float)和双精度(double)两种格式:单精度(float):32 位,包含 1 位符号位、8 位指数域、23 位尾数域。双精度(double):64 位,包含 1 位符号位、11 位指数域、52 位尾数域。单精度浮点数范围约为 1.175e-38 到 3.403e38,精度约为 6-7 位有效数字;双精度浮点数范围约为 2.225e-308 到 1.798e3

C 语言中浮点数的表示
在 C 语言中,浮点数使用 IEEE 754 标准表示。该标准定义了两种浮点数格式:单精度(float)和双精度(double)。
单精度浮点数
单精度浮点数使用 32 位来表示,其格式如下:
立即学习“C语言免费学习笔记(深入)”;
| 字节 | 符号位 | 指数域(8 位) | 尾数域(23 位) |
|---|---|---|---|
| 0 | 1 位 | 8 位 | 23 位 |
- 符号位:表示浮点数的正负。0 表示正数,1 表示负数。
- 指数域:表示浮点数的指数,即阶码。偏差后使用 127 作为偏移量。
- 尾数域:表示浮点数的小数部分。尾数域的值为 1.F,其中 F 表示尾数值。
双精度浮点数
双精度浮点数使用 64 位来表示,其格式如下:
| 字节 | 符号位 | 指数域(11 位) | 尾数域(52 位) |
|---|---|---|---|
| 0 | 1 位 | 11 位 | 52 位 |
- 符号位:与单精度浮点数相同。
- 指数域:表示浮点数的指数,即阶码。偏差后使用 1023 作为偏移量。
- 尾数域:与单精度浮点数相同。尾数域的值为 1.F,其中 F 表示尾数值。
浮点数的范围
单精度浮点数的范围约为 1.175e-38 到 3.403e38。双精度浮点数的范围约为 2.225e-308 到 1.798e308。
浮点数的精度
单精度浮点数的精度约为 6 至 7 位有效数字。双精度浮点数的精度约为 15 至 16 位有效数字。










