【发布时间】:2017-03-29 16:21:03
【问题描述】:
根据维基百科,只要有效数字少于 7 位,单精度浮点数就会保持精度。有没有找到这个最大有效位数的公式?
例如: 带符号位、7 位、超过 63 位指数、8 位小数和基数 2 取幂的浮点格式大约有多少位精度?
【问题讨论】:
标签: floating-point floating-accuracy
根据维基百科,只要有效数字少于 7 位,单精度浮点数就会保持精度。有没有找到这个最大有效位数的公式?
例如: 带符号位、7 位、超过 63 位指数、8 位小数和基数 2 取幂的浮点格式大约有多少位精度?
【问题讨论】:
标签: floating-point floating-accuracy
十进制有效数字的数量,因为这意味着任何东西,或多或少 n/log2(10),其中 n 是有效二进制数字的数量。在您的示例中,有效二进制位数为 9(隐式一位后跟 8 个有效位)。 log2(10) 大约是 3.32,所以你得到的有效十进制数字略少于 3 个。
如果您对“有效十进制数字”有特定定义,例如“可以通过二进制格式往返的位数,从具有有效 n 位的十进制表示开始并四舍五入到 n 位十进制数字在回来的路上,不丢失信息”,你会想读this Exploring Binary post。
【讨论】: