A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq272936993 初级黑马   /  2014-11-13 21:27  /  711 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class HexConversion {

  2.         /**
  3.          * 十进制 ---> 二进制
  4.          * @return
  5.          * */
  6.         public static List<Character> toBin(int num){
  7.                 return trans(num, 1, 1);
  8.         }
  9.        
  10.         /**
  11.          * 十进制 ---> 八进制
  12.          * */
  13.         public static List<Character> toBa(int num){
  14.                 return trans(num, 7, 3);
  15.         }
  16.        
  17.         /**
  18.          * 十进制--->十六进制
  19.          * */
  20.         public static List<Character> toHex(int num){
  21.                 return trans(num , 15 , 4);
  22.         }
  23.        
  24.        
  25.         public static List<Character> trans(int num , int base , int offset){
  26.                 if(num == 0){
  27.                         System.out.println(num);
  28.                         return null;
  29.                 }
  30.                 char[] chs = {'0' , '1' , '2' ,'3', '4', '5', '6','7',
  31.                                 '8','9','A','B','C','D','E','F'};
  32.                
  33.                 char[] arr = new char[32];
  34.                 int pos = arr.length;
  35.                 while(num != 0){
  36.                         int temp = num & base;
  37.                         arr[--pos] = chs[temp];
  38.                         num = num >>> offset;
  39.                 }
  40.                
  41.                 List<Character> list = new ArrayList<Character>();
  42.                 for(int x=pos; x < arr.length; x++){
  43.                         //System.out.print(arr[x]);
  44.                         list.add(arr[x]);
  45.                 }
  46.                 return list;
  47.         }
  48.        
  49.         public static void main(String[] args) {
  50.                 List<Character> list = toBin(22);
  51.                
  52.                 for(Character chr : list){
  53.                         System.out.print(chr);
  54.                 }
  55.         }
  56.        
  57. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马