标签: floating-point
假设我有两个合理的分数a / b和c / d是相等的。 a,b,c和d都可以表示为32位有符号整数。如果我用64位浮点数进行除法,a / b == c / d总是吗?
答案 0 :(得分:4)
有些情况下,即使结果保证相同,编译器优化也会阻止相等性为真。原始x86浮点运算在80位寄存器上执行;如果将其中一个与存储的64位值进行比较,它可能会比较不相等。