好难理解浮点数精度,网上解释总是2^23=....然会7位,但是23bit 存的尾数从二进制转换为10进制,精度为啥为7,即使为7,还有指数位的约束。 float最大数为3.4*10^38,但是精度只有7位,那这么大的数本身不是超过7位吗?如何理解这个精度到底指啥
好难理解浮点数精度,网上解释总是2^23=....然会7位,但是23bit 存的尾数从二进制转换为10进制,精度为啥为7,即使为7,还有指数位的约束。 float最大数为3.4*10^38,但是精度只有7位,那这么大的数本身不是超过7位吗?如何理解这个精度到底指啥
精度可以理解为10进制下的有效数字。也就是说用单精度 float 表示的数不管多大,只有7位是精确的。指数不能帮助提高精度。比如 1.23456789 * 10^38,用 float 只能保存成 1.234567 * 10^38。
15 回答8.2k 阅读
8 回答6k 阅读
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
建议阅读 CSAPP 第2章 信息的表示和处理
或者浮点数 链接: https://www.cnblogs.com/ZCpla...