#1486. T2-19-3 判断一个数是否是2的幂
T2-19-3 判断一个数是否是2的幂
说明
编写一个程序,判断给定的正整数是否是2的幂。输入格式
一个正整数 n。输出格式
如果 n 是2的幂,输出 yes。否则,输出 no。8yes
提示
- isPowerOfTwo 函数通过位运算判断一个数是否为2的幂。
- return (n > 0) && (n & (n - 1)) == 0;:
- (n > 0):首先检查 n 是否大于 0,因为负数和 0 不能是2的幂。
- (n & (n - 1)) == 0:如果 n 是2的幂,那么 n 的二进制表示中只有一位是 1。n - 1 的二进制表示中所有 1 位都变成 0,n 和 n - 1 位与操作结果应为 0。