unsigned int v; //算出v后面有多少个0
int c; // c保存结果
// 比如二进制数1101000,c为3
if (v)
{
v = (v ^ (v - 1)) >> 1; // 把c的后面的0都置为1,其他的置为0
for (c = 0; v; c++)
{
v >>= 1;
}
}
else
{
c = CHAR_BIT * sizeof(v);
}
计算一个位串后边有多少个0
最新推荐文章于 2022-02-25 20:00:37 发布