java 十进制转二进制、八进制、十六进制代码复用

  1. class Trans   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         //toBinary(60);  
  6.         //toOux(-60);  
  7.         toHex(60);  
  8.         //System.out.println(“Hello World!”);  
  9.     }  
  10.   
  11.     //转二进制  
  12.     public static void toBinary(int num){  
  13.         trans(num,1,1);  
  14.     }  
  15.   
  16.     //转八进制  
  17.     public static void toOux(int num){  
  18.         trans(num,7,3);  
  19.     }  
  20.   
  21.     //转十六进制  
  22.     public static void toHex(int num){  
  23.         trans(num,15,4);  
  24.     }  
  25.   
  26.     //十进制转成以上三种进制需要做的相同操作  
  27.     public static void trans(int num,int base,int offset){   //参数分别为待转换的数,进制基数-1,右移位数  
  28.         if(num==0){  
  29.             System.out.println(num);  
  30.             return ;  
  31.         }  
  32.         char[] chs={‘0’,‘1’,‘2’,‘3’,‘4’,  
  33.                     ‘5’,‘6’,‘7’,‘8’,‘9’,  
  34.                     ‘A’,‘B’,‘C’,‘D’,‘E’,  
  35.                     ‘F’};//注意要从‘0’开始!!这样才能满足chs[1]=’1’。  
  36.         char[] arr=new char[32];  
  37.         int i=0;  
  38.         while(num!=0){  
  39.             int temp=num&base;  
  40.             arr[i++]=chs[temp];  
  41.             num=num>>>offset;  
  42.         }  
  43.         for(int j=i-1;j>=0;j–)  
  44.         System.out.print(arr[j]);  
  45.     }  
  46. }  
    原文作者:进制转换
    原文地址: https://blog.csdn.net/xiaocai9999/article/details/78702179
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞