标签:number 表示 个数 判断 进制 strong esc div 统计
class Solution { public: int NumberOf1(int n) { int cnt = 0; while(n != 0){ n = n & (n - 1); ++cnt; } return cnt; } };
相关题目:
1)用一条语句判断一个整数是不是2的整数次方。如果一个整数是2的整数次方,那么它的二进制中有且只有一位是1。使用n = n & (n - 1) 之后就会让n变为0。
2)输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n,方法是首先求这两个数的异或,第二步统计异或结果中1的个数。
标签:number 表示 个数 判断 进制 strong esc div 统计
原文地址:http://www.cnblogs.com/dingxiaoqiang/p/7906406.html