求二进制表示中1的个数

public class test
{

 /**
  * 得到正整数a的二进制表示中1的个数。
  */
 public static int getNum(int a){
  int i =0,num=0;
  while(a>0){
   int k = a&(1<<i);
   if(k!=0)
   {
    num++;
    a -=k;
   }
   i++;
  }
  return num;
 }
 
 
 
 public static void main(String[] args)
 {
  System.out.println(test.getNum(31));
 }
}

posted on 2010-03-23 17:49  台哥编程课堂  阅读(127)  评论(0编辑  收藏  举报

导航