Java实现十进制到各种进制的转换

来源:互联网 发布:网络储备人才招聘 编辑:程序博客网 时间:2024/05/16 07:17

Java实现十进制到各种进制的转换

public class Trans {    public static void main(String[] args){        int a=20;        System.out.println("Hex:"+getHex(a));        System.out.println("Oct:"+getOct(a));        System.out.println("Bin:"+getBinary(a));        System.out.println(Integer.toHexString(20));        System.out.println(Integer.toOctalString(20));        System.out.println(Integer.toBinaryString(20));    }    public static String getHex(int num){        return trans(num,16,4);    }    public static String getOct(int num){        return trans(num,8,3);    }    public static String getBinary(int num){        return trans(num,2,1);    }    public static String trans(int num,int base,int offset){        char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};        char[] arr=new char[32];        int index=arr.length;        while(num!=0){            int temp=num&(base-1);            arr[--index]=chs[temp];            num=num>>>offset;        }        return toString(arr);    }    public static String toString(char[] arr){        String str = "";        for(int i=0;i<arr.length;i++){            if(arr[i]!='\0'){                str+=arr[i];            }        }        return str;    }}
原创粉丝点击