为什么Intel x87寄存器有80位宽? [英] Why are Intel x87 registers 80 bits wide?

查看:15
本文介绍了为什么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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆