28.整數的二進制表示中1的個數(運算)
題目:輸入一個整數,求該整數的二進制表達中有多少個1。
例如輸入10,由于其二進制表示為1010,有兩個1,是以輸出2。
分析:
這是一道很基本的考查位運算的面試題。
包括微軟在内的很多公司都曾采用過這道題
package com.microsoft;
public class IntegerByteCount {
public static void main(String[] args) {
int a=189;
int count=0;
while(true){
int b=a%2;
if(b==1){
count++;
}
a=a/2;
if(a==0){
break;
}
}
System.out.println(count);
}
}