摘要: 主要是利用位操作来判断每一位是否为1方法一:清除整数a最右边的1可以使用这个操作:a&(a-1)所以可以利用这个方法来得到1的个数:intcount_one(unsignedx){intcount=0;while(x){count++;x=x&(x-1);}returncount;}方法二:对整数进行移位,然后判断最后一位是否为1intcount_one2(unsignedx){intcount=0;inti=0;while(i<32){if((x>>i)&0x1)count++;i++;}returncount;}方法三:这个方法和方法二类似,只是每 阅读全文
posted @ 2012-06-21 22:57 Mr.Rico 阅读(2328) 评论(0) 推荐(0)