牛客网-《剑指offer》-二进制中1的个数

it2022-05-20  46

题目:http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8

C++

负数需要特殊处理,因为负数右移会补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 };

 

转载于:https://www.cnblogs.com/CheeseZH/p/5112969.html


最新回复(0)