我一直在 64 位 IEEE 浮点表示中看到这种关于 53 位精度的废话。有人可以向我解释一下,在世界上,一个被 1 卡住的位如何对数字精度做出任何贡献?如果您有一个浮点单元,bit0 固定为 1,您当然会知道它产生的精度比正常情况低 1 位。对这件事的敏感度在哪里?
此外,只有指数,没有尾数的缩放因子,完全指定了数字的前导位在哪里,所以从来没有使用过前导位。第 53 位与第 19 洞一样真实。它只是一个(有用的)拐杖来帮助人类的思想和以二进制形式访问这些值的逻辑。否则声称是重复计算。
要么所有声称这第 53 位废话的书籍和文章都是错误的,要么我就是个白痴。但是卡住的位是卡住的位。让我们听听相反的论点。
最佳答案
IEEE-754 64 位二进制浮点对象的数学有效数 1 有 53 位。它使用专门用于有效数的 52 位字段和来自指数字段的一些信息(指示第 53 位是 0 还是 1)的组合进行编码。
由于主要的有效位字段是52位,所以有人将有效位称为52位,但这是一个草率的术语。有效位字段不包含有效位的所有信息,完整的有效位为53位。
有效数的前导位从不使用(作为 1 以外的任何其他值)是不正确的。当指数的编码为零时,有效数的前导位是 0 而不是更频繁的 1。
1 “有效数”是首选术语,而不是“尾数”。有效数是线性的,尾数是对数的。
关于floating-point - 它是 52 位还是 53 位浮点精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18409496/