C语言中float 78.6,输出为什么是78.599998,而不是78.600000

[复制链接]
查看11 | 回复3 | 2012-3-25 10:36:58 | 显示全部楼层 |阅读模式
和浮点数的表达方式有关系,微小的误差是很正常的。...
回复

使用道具 举报

千问 | 2012-3-25 10:36:58 | 显示全部楼层
哦。这是一个和很经典的问题:按照 IEEE-754 标准来规定浮点数的存储格式,IEEE754 规定,单精度浮点数用 4 字节存储,双精度浮点数用 8 字节存储,分为三个部分:符号位、阶和尾数。阶即指数,尾数即有效小数位数。单精度格式阶占 8 位,尾数占 24 位,符号位 1 位,双精度则为 11 为阶,53 位尾数和 1 位符号位。详细的你去找...
回复

使用道具 举报

千问 | 2012-3-25 10:36:58 | 显示全部楼层
浮点型数据是不精确储存的 最后一位数字不精确...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行