Objective-C实现判断整数是否为2的幂isPowerOfTwo算法(附完整源码)
发布日期:2025-04-25 14:25:16 浏览次数:2 分类:精选文章

本文共 759 字,大约阅读时间需要 2 分钟。

在Objective-C中判断整数是否为2的幂,可以借助位运算实现。一个整数要是2的幂,当且仅当它大于0,并且其二进制表示中仅包含一个1。具体来说,对于任意整数n,如果满足以下两个条件之一:

  • n > 0
  • n & (n - 1) == 0
  • 那么n就是2的幂。

    以下是一个完整的Objective-C代码示例,包含一个判断整数是否为2的幂的方法,并附有main函数的测试代码:

    #import 
    @interface PowerOfTwoChecker : NSObject
    - (BOOL)isPowerOfTwo:(int)n;
    @end
    #import 
    @interface PowerOfTwoChecker : NSObject
    - (BOOL)isPowerOfTwo:(int)n {
    return n > 0 && (n & (n - 1)) == 0;
    }
    @end
    int main(int argc, const char *argv) {
    @autoreleasepool {
    int number = 8; // 测试2的幂
    BOOL isPower = [PowerOfTwoChecker new].isPowerOfTwo(number);
    printf("Number: %d, isPowerOfTwo: %s\n", number, isPower ? "YES" : "NO");
    }
    return 0;
    }

    这个代码实现了一个简单的判断2的幂的方法。通过位运算n & (n - 1),我们可以快速判断一个数是否是2的幂。这个方法的时间复杂度为O(1),非常高效。

    上一篇:Objective-C实现判断是否为回文字符串(附完整源码)
    下一篇:Objective-C实现判断数是否为质数(附完整源码)

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月13日 23时11分13秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章