十进制0到16转为二进制

来源:互联网 发布:百度关键字优化 编辑:程序博客网 时间:2024/05/16 12:08
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,这样就把二进制打印出来。

0 0