浮点与> =对比(>或==)

时间:2012-09-04 18:18:14

标签: ios floating-point

我在一段代码中注意到以下内容:我正在维护/扩展:

float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion > 3.2 || systemVersion == 3.2 ) {
    //Stuff
}

我知道由于精度,浮点可能导致一些奇怪的比较行为,但是上面的行为与下面的代码块有什么不同?

float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion >= 3.2) {
    //Stuff
}

2 个答案:

答案 0 :(得分:2)

这是一回事。在许多编译器中,生成的机器指令完全相同(尽管我不能肯定这对于clang来说是真的)。​​

答案 1 :(得分:1)

不,它不会。我认为这段代码是偶然发生的(可能经过几次小调整后)。