一条语句判断数x是否2的n次幂
return !(x & (x - 1));
求取十进制数字元素1的个数
int fun(int x)
{
int count = 0;
int i, j, k;
/方法2 负数不可计算,需要改进/
while (x != 0){
if (x & 1 == 1)
count++;
x = x >> 1;
}
/方法1/
while (x != 0){
x = x&(x - 1);
count++;
}
return count;
}
运算过程:
https://blog.youkuaiyun.com/csdn_kou/article/details/79764559
本文介绍了一种快速判断一个数是否为2的幂的算法,并提供了两种计算十进制数字中1的个数的方法。第一种方法通过不断移除最低位的1并计数,第二种方法通过检查每个位是否为1来实现。
1042

被折叠的 条评论
为什么被折叠?



