现在的位置: 首页 > 综合 > 正文

判断一个整数的二进制数有多少个1

2013年08月22日 ⁄ 综合 ⁄ 共 245字 ⁄ 字号 评论关闭

  1. // 判断一个整数的二进制位中有多少个1  
  2. void totalOne(int x)  
  3. {  
  4.     int count = 0;  
  5.   
  6.     while(x)  
  7.     {  
  8.         x = x & ( x - 1 );  
  9.         count++;   
  10.     }  
  11.     printf("count = %d/n", count);  
  12. }  

循环: x = x & ( x - 1 ); count++; 直到x为0为止。该方法的时间复杂度是O(m)

抱歉!评论已关闭.