编程之美2.1扩展问题2

来源:互联网 发布:手机上淘宝电脑版登录 编辑:程序博客网 时间:2024/05/03 22:22


先对AB两数进行异或运算,那么A,B位不同的结果位中为1,位相同的结果位上为0。异或运算后便转化成了求1的个数问题

参考http://hi.baidu.com/azuryy/item/be4fd72c77cef4d00e37f9d3

int count(int A,int B){

int num=0;

int v=A^B;

while(v){

v=v&(v-1);

num++;

}

return num;




}

原创粉丝点击