本文共 423 字,大约阅读时间需要 1 分钟。
在计算机科学中,判断一个数是否是2的幂(即是否为2的某个非负整数次方)可以通过位运算来高效实现。一个整数n是2的幂当且仅当n大于0,并且n与n-1的按位与(AND)运算结果为0。这意味着n的二进制表示中只有一个位为1。
以下是一个使用Objective-C实现的按位判断一个数是否为2的幂的完整示例代码:
@interface MathUtils : NSObject@end@implementation MathUtils- (BOOL)isPowerOfTwo:(NSInteger)n { return n != 0 && (n & (n - 1)) == 0;}@end 这个方法通过简单的位运算就可以高效地判断一个数是否为2的幂。
转载地址:http://wqifk.baihongyu.com/