c 语言中浮点数的储存格式遵循 ieee-754 标准,包括:1. 符号位(1 位):0 表示正数,1 表示负数;2. 指数位(8 位):存储指数的二进制补码,偏置为 127;3. 尾数位(23 位):存储小数部分的二进制补码,以 1 开头,隐含表示。
C 语言中浮点数的储存
IEEE-754 标准规定了 C 语言中浮点数的储存格式。它分为以下几个部分:
1. 符号位 (1 位)
- 0 表示正数
- 1 表示负数
2. 指数位 (8 位)
- 存储指数的二进制补码表示
- 指数偏置为 127
3. 尾数位 (23 位)
- 存储小数部分的二进制补码表示
- 以 1 开头,隐含表示
储存格式示例
一个 32 位浮点数的储存格式为:
| 符号位 | 指数位 | 尾数位 | |---|---|---| | 1 位 | 8 位 | 23 位 |
登录后复制
储存范围
- 正浮点数:1.17549435 x 10^-38 至 3.40282347 x 10^38
- 负浮点数:-3.40282347 x 10^38 至 -1.17549435 x 10^-38
特殊值
- 正无穷大:指数位全为 1,尾数位全为 0
- 负无穷大:指数位全为 1,尾数位全为 1,符号位为 1
- NaN(非数):指数位全为 1,尾数位不全为 0
- 0:指数位全为 0,尾数位全为 0
储存精度
由于尾数位有限,浮点数的储存只能近似于实际值。这种误差称为舍入误差。
以上就是c语言浮点数怎么储存的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:牧草,转转请注明出处:https://www.dingdanghao.com/article/527539.html