黑马程序员技术交流社区

标题: 自己写的一个简单的进制转换函数 [打印本页]

作者: shuren2015    时间: 2015-2-27 13:32
标题: 自己写的一个简单的进制转换函数
贴出自己刚学毕老师视频的时候写的一个当时自认为很简练的一段代码,觉得挺有意义的,虽然现在看来有很多要改善的地方。
  1. /*
  2. 进制转换终结版
  3. */
  4. class ArrayTest
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 System.out.println(trans(6,2));
  9.         }
  10.         /**
  11.         传入参数实现进制转换
  12.         @param x 要转换的数值
  13.         @param m 要转换成m位进制,限制在2,4,8,16位
  14.         @return 转换后的字符串
  15.         */
  16.         public static String trans(int x,int m)
  17.         {
  18.                 int core;
  19.                 int offset;
  20.                 char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  21.                 char[] arr=new char[32];
  22.                 int count=32;
  23.                 switch(m)
  24.                 {
  25.                         case 2:core=1;
  26.                                 offset=1;
  27.                                 break;
  28.                         case 4:core=3;
  29.                                 offset=2;
  30.                                 break;
  31.                         case 8:core=7;
  32.                                 offset=3;
  33.                                 break;
  34.                         case 16:core=15;
  35.                                 offset=4;
  36.                                 break;
  37.                         default:throw new RuntimeException("进制转换异常");
  38.                 }
  39.                         while(x!=0)
  40.                 {
  41.                         arr[--count]=chs[x&core];
  42.                         x=x>>>offset;
  43.                 }
  44.                 return new String(arr,count,32-count);

  45.         }
  46. }
复制代码










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2