为什么 IEEE 浮点格式中有隐含(或隐藏)位?其目的是什么?在传递维基百科时提到了。
“[Fraction] 是数字的归一化小数部分,之所以归一化,是因为调整了指数,使前导位始终为 1。这样,就不必存储它,并且您会多获得一位精度。这就是为什么有一个隐含的位。”
它基本上可以实现更高的精度。
我认为最重要的是要知道它实际上并没有存储在内存中:
假定该格式具有值为 1 的隐式前导位,除非指数字段存储为全零。因此,仅 10 位有效数出现在内存格式中,但总精度为 11 位。
例如,在半精度浮点(16 位,或 2 个字节,又名。FP16)中,有 1 个符号位、5 个指数位和 10 个实际有效数位。
1 + 5 + 10 = 16
,然后还有隐含的一位额外有效位,它始终是 == 1
。