标签:
任意输入一个十进制数字,求其二进制表示中1的个数
简单的右移算法将产生死循环(在输入数字为负时产生)
因此使用下述算法:
int Numberof1(int n){ int count=0; while(n){ count++; n=n&(n-1); } return count; }将一个整数与其减去一后的数字相与,即可计算器最后一位是否为1.
剑指offer的学习(一)
原文地址:http://www.cnblogs.com/yeizisn/p/5424283.html