为什么Intel x87寄存器有80位宽? [英] Why are Intel x87 registers 80 bits wide?
本文介绍了为什么Intel x87寄存器有80位宽?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么使用如此"奇怪"的寄存器大小?是否有任何文档说明为什么不建议对这些寄存器使用64位或128位?
推荐答案
Wikipedia page on the IEEE 754-1985 standard关于80位扩展格式有一个很好的解释:
该标准还建议使用扩展格式来执行 内部计算的精度高于 最终结果,以最大限度地减少舍入误差"双精度浮点数以64位表示。您可能需要更多的位以获得更高的中间结果精度,但如果您只想在最终结果中使用64位,则使用128位类型就太过分了。
80位是大于64位的合理偶数位数。
考虑到在建立这些标准时的数据总线是8位或16位,而不是像今天这样的32位或64位。如果标准是今天编写的,96位将是一个更合理的数字,或者也许数据将以128位的形式传输,即使这些位不会在计算中使用。这篇关于为什么Intel x87寄存器有80位宽?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文