描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
这个思路很简单,依次将 n 跟 n-1 位与后的结果赋值给 n , 直至 n 为 0, 有多少个1就可以循环多少次。
1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5 while(n) 6 { 7 count++; 8 n = n & (n - 1); 9 } 10 return count; 11 } 12 };
标签:表示 str bsp 结果 ber count 输入 二进制 div
描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
这个思路很简单,依次将 n 跟 n-1 位与后的结果赋值给 n , 直至 n 为 0, 有多少个1就可以循环多少次。
1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5 while(n) 6 { 7 count++; 8 n = n & (n - 1); 9 } 10 return count; 11 } 12 };
标签:表示 str bsp 结果 ber count 输入 二进制 div
原文地址:http://www.cnblogs.com/purehol/p/8092627.html