博客
关于我
Objective-C实现按位的isPowerOfTwo算法(附完整源码)
阅读量:797 次
发布时间:2023-02-21

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

在计算机科学中,判断一个数是否是2的幂(即是否为2的某个非负整数次方)可以通过位运算来高效实现。一个整数n是2的幂当且仅当n大于0,并且n与n-1的按位与(AND)运算结果为0。这意味着n的二进制表示中只有一个位为1。

Objective-C 实现代码

以下是一个使用Objective-C实现的按位判断一个数是否为2的幂的完整示例代码:

@interface MathUtils : NSObject@end@implementation MathUtils- (BOOL)isPowerOfTwo:(NSInteger)n {    return n != 0 && (n & (n - 1)) == 0;}@end

二进制示例

  • 1(二进制 0001)是2的0次方。
  • 2(二进制 0010)是2的1次方。
  • 4(二进制 0100)是2的2次方。
  • 8(二进制 1000)是2的3次方。

这个方法通过简单的位运算就可以高效地判断一个数是否为2的幂。

转载地址:http://wqifk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现将 base64 字符串转换为字节数组算法(附完整源码)
查看>>
Objective-C实现将两个给定的字符串以O(n)的时间复杂度排列在一个字符串中算法(附完整源码)
查看>>
Objective-C实现将位转换为浮点数bitsToFloat算法(附完整源码)
查看>>
Objective-C实现将列表向右旋转 k 个位置算法(附完整源码)
查看>>
Objective-C实现将字符串中大写字母转换为小写字母(附完整源码)
查看>>
Objective-C实现将字符串从一个基转换为另一个基算法(附完整源码)
查看>>
Objective-C实现将字符串小写转大写算法(附完整源码)
查看>>
Objective-C实现将字节数组转换为 base64 编码算法(附完整源码)
查看>>
Objective-C实现将彩色图像转换为负片算法(附完整源码)
查看>>
Objective-C实现将无符号整数n变成成d进制表示的字符串s(附完整源码)
查看>>
Objective-C实现将给定的 utf-8 字符串编码为 base-16算法(附完整源码)
查看>>
Objective-C实现将给定的字符串编码为 base32算法(附完整源码)
查看>>
Objective-C实现小根堆(附完整源码)
查看>>
Objective-C实现局域网双向通信(附完整源码)
查看>>
Objective-C实现局部最大值点数算法(附完整源码)
查看>>
Objective-C实现屏幕捕获功能( 附完整源码)
查看>>
Objective-C实现峰值信噪比算法(附完整源码)
查看>>
Objective-C实现已线段的形式求曲线长算法(附完整源码)
查看>>
Objective-C实现已递归的方式找到一个数字数组的最大值算法(附完整源码)
查看>>
Objective-C实现巴比伦平方根算法(附完整源码)
查看>>