位运算的应用
#include<iostream>
using namespace std;
//如果一个数的二进制表示只有1个1,他就是2的整数次方
//x&(x-1)能消去二进制中的1个1,如果1次与运算结果为0,该数就是2的整数次方
int f(int n){
return (n&(n-1)) == 0 ? 1 : 0;
}
int main(){
cout << f(1024);
return 0;
}
关于x&(x-1)的其他应用参考:点击跳转
#include<iostream>
using namespace std;
//如果一个数的二进制表示只有1个1,他就是2的整数次方
//x&(x-1)能消去二进制中的1个1,如果1次与运算结果为0,该数就是2的整数次方
int f(int n){
return (n&(n-1)) == 0 ? 1 : 0;
}
int main(){
cout << f(1024);
return 0;
}
关于x&(x-1)的其他应用参考:点击跳转