二进制中1的个数

简介:

负数需要特殊处理,因为负数右移会补1(符号位)

复制代码
 1 class Solution {
 2 public:
 3      int  NumberOf1(int n) {
 4          unsigned int v = n;
 5          int sum = 0;
 6          while (v) {
 7              sum += v&1;
 8              v >>= 1;
 9          }
10          return sum;
11      }
12 };
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5112969.html,如需转载请自行联系原作者

相关文章
|
6月前
二进制中1的个数
二进制中1的个数
36 0
|
6月前
|
C++
Acwing.26 二进制中1的个数
Acwing.26 二进制中1的个数
|
6月前
|
算法
算法题 — 整数转二进制,查找其中1的数量
算法题 — 整数转二进制,查找其中1的数量
43 0
计算二进制中1的个数
计算二进制中1的个数
61 0
求一个整数储存在内存中的二进制1的个数
求一个整数储存在内存中的二进制1的个数
|
算法
34.二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
80 0
34.二进制中1的个数
|
存储 机器学习/深度学习
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
139 0
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
|
开发者
二进制中1的个数(上)
二进制中1的个数(上)
二进制中1的个数(上)
|
存储 前端开发 程序员
二进制中1的个数(下)
二进制中1的个数(下)
二进制中1的个数(下)
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7