14

为什么使用如此“奇怪”的寄存器大小?是否有任何文档说明为什么这些寄存器不宜使用 64 位或 128 位?

4

1 回答 1

16

IEEE 754-1985 标准的维基百科页面上,关于 80 位扩展格式有一个很好的解释:

“该标准还建议使用扩展格式以比最终结果所需的精度更高的精度执行内部计算,以最大限度地减少舍入误差”

双精度浮点数以 64 位表示。您可能需要更多的位来获得更高的中间结果精度,但是当您只希望最终结果中有 64 位时,使用 128 位类型会有点过分。

80 位是大于 64 位的合理偶数位数。

考虑到建立这些标准时的数据总线是 8 位或 16 位,而不是像今天这样的 32 位或 64 位。如果今天编写标准,96 位将是一个更合理的数字,或者即使所有这些位都不会用于计算,数据也可能会以 128 位传输。

于 2012-09-27T16:48:04.063 回答