在this wiki page中,提到:
在调试时,优化程序通常会保留的值 在寄存器中经常被推送到主存储器。这可能会影响 实例,浮点比较的结果,因为值在 记忆的范围和准确度可能小于 的注册
但据我所知,在IEEE 754中,表示浮点值 应该修复,我想这种表示在内存或内存中都不会改变 注册
那么,在某些特殊情况下会出现差异吗?其实我的理解是有限的 32位和64位机器。
答案 0 :(得分:1)
例如,在某些英特尔处理器上,浮点寄存器为80位宽,但C语言类型是常规的32位和64位float
和double
类型。就像你的引文一样,“在内存中(32位或64位)值的范围和精度小于寄存器中的(80位)值。“