二进制中 0的个数

题目:输入一个整数,输出该数二进制表示中0的个数。其中负数用补码表示。

思路:二进制与1求&,即判断二进制最后一位是否为1,若为1,则跳过,否则计数器+1;然后整数右移一位,直到整数为0。

这个思路还是挺好理解的,就是二进制依次右移,查看最后一位是否为0,是就+1,不然就跳过。

int count_1_num = 0;
    while(num != 0) {
	if((num&1)!=1)
		count_1_num++;
	num>>>=1;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章