算法:十进制转换为十六进制,二进制,八进制

来源:互联网 发布:floyd算法视频 编辑:程序博客网 时间:2024/04/25 22:03

实现:讲任意一个十进制整数转变为二进制或者十六进制,或者八进制


class NumberConvert {public static void main(String[] args) {toHex(60);}/**十进制转换为二进制*/public static void toBin(int num){trans(num,1,1);}/**十进制转换为八进制*/public static void toOct(int num){trans(num,7,3);}/**十进制转换为十六进制*/public static void toHex(int num){trans(num,15,4);}public  static void trans(int num,int base,int offset){if(num==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 []arr=new char[32]; int pose=arr.length; while(num!=0){       int temp=num&base;   arr[--pose]=chs[temp];   num=num>>>offset;}   for(int x=pose;x<arr.length;x++){   System.out.print(arr[x]);   }    }}