ios - float 比较 >= 与 (> or ==)

标签 ios floating-point

我在维护/扩展的代码块中注意到以下内容:

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

我知道由于精度原因, float 会导致一些奇怪的比较行为,但是上面的行为与下面的代码块有什么不同吗?

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

最佳答案

其实是一样的。在许多编译器中,生成的机器指令完全相同(尽管我不能肯定地说 clang 也是如此)。

关于ios - float 比较 >= 与 (> or ==),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269213/

相关文章:

求两个 float 之比的算法?

c++ - C++标准在哪里定义了float类型的取值范围?

javascript - 2的补码和IEEE754有什么关系?

ios - "CoreData: error: NULL _cd_rawData but the object is not being turned into a fault"

objective-c - 在 C 和 Objective-C 中,将 float 或 double 截断为整数的真正正确方法是什么?

ios - 我们可以使用 Google 的 place autocomplete api 在 swift 上填充 tableview 单元格吗?

ios - 如何使用 JSQMessagesViewController 发送图片?

r - 修复天花板中的浮点不精确性

ios - 禁用 UIPickerView 中的特定行值

ios - iPad迷你: Swift-App receive memory warning on low usage