public class BinarySystem{
public static void printDecimalSystem(int a){
int maxC = 0;
while( (a>>maxC) !=0 ){
maxC ++;
}
for(maxC--; maxC>=0; maxC--){
int z = ( a >> maxC ) & 1;
System.out.print(z);
}
if(a==0) System.out.print(0);
System.out.println();
}
public static void main(String[] args){
for(int i=0; i<=16; i++){
System.out.print(i+" ---> ");
printDecimalSystem(i);
}
}
}
根据位运算推,先求出数字在内存中占有的个数,然后一位一位向后推和1进行与操作;如果都是1这一位肯定是1,这样就把二进制打印出来。