进制转化优化实现

来源:互联网 发布:足彩平局分析软件 编辑:程序博客网 时间:2024/06/11 12:18
/*进制转化*///建表法import java.util.*;class ArrayTest{    public static void main(String[] args) {    }    //十进制-->二进制     public  void toBin(int number){        trans(number,1,1);    }    //十进制-->八进制    public  void toOx(int number){        trans(number,7,3);    }    //十进制-->十六进制    public  void toHex(int number){        trans(number,15,4);    }    //转化    public void trans(int number,int base,int offset){        if(number==0){            System.out.println(0);            return;        }        //建表        char [] chs = {'0','1','2','3',            '4','5','6','7',            '8','9','A','B',            'C','D','E','F',};        char[] array = new char[32];        int pos = array.length;        while(number!=0){            int temp = number&base;            array[--pos] = chs[temp];            number = number >>> offset;        }        for(int i = pos; i<array.length; i++){            System.out.print(array[i]);        }    }}/*普通转化:    10---->16进制 基数15 右移4位    10---->8进制 基数7 右移3位    10---->2进制 基数1 右移1位*/public void trans(int number){    StringBuffer sb = new StringBuffer();    while(number!=0){        int temp = number&15;        if(temp>=10){            sb.append(temp-10+'A');        }        number = number >>> 4;    }    System.out.print(sb.reverse());}
0 0