public class JinZhiZhuanHua { public static void main(String[] args) { //使用查表法将十进制转换为二进制、八进制、十六进制 int num=60; toBin(num); tooct(0); toHex(60); } //转换为二进制 public static void toBin(int num){ conversion(num,1,1); } //(转换为八进制 public static void tooct(int num){ conversion (num,7,3); } //转换为十六进制 public static void toHex(int num){ conversion (num,15,4); } //转换 public static void conversion(int num, int diwei, int yiwei) { //如果num等于0,结果输出为0 if (num==0){ System.out.println("num="+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 pos=arr.length; //利用与低位最大值的方式取出低位,存到临时数组中 while(num!=0){ arr[--pos]=chs[num&diwei];//--pos倒著往临时容器里存 num >>=yiwei;//无条件右移相应位数 } //打印转换后的结果 for( int x=pos;x<arr.length; x++) System.out.print(arr[x]); //换行 System.out.println(); } }
Java十进制转换为二进制、八进制、十六进制
猜你喜欢
转载自blog.csdn.net/lihua5419/article/details/78183636
今日推荐
周排行