贴出自己刚学毕老师视频的时候写的一个当时自认为很简练的一段代码,觉得挺有意义的,虽然现在看来有很多要改善的地方。
- /*
- 进制转换终结版
- */
- class ArrayTest
- {
- public static void main(String[] args)
- {
- System.out.println(trans(6,2));
- }
- /**
- 传入参数实现进制转换
- @param x 要转换的数值
- @param m 要转换成m位进制,限制在2,4,8,16位
- @return 转换后的字符串
- */
- public static String trans(int x,int m)
- {
- int core;
- int offset;
- char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- char[] arr=new char[32];
- int count=32;
- switch(m)
- {
- case 2:core=1;
- offset=1;
- break;
- case 4:core=3;
- offset=2;
- break;
- case 8:core=7;
- offset=3;
- break;
- case 16:core=15;
- offset=4;
- break;
- default:throw new RuntimeException("进制转换异常");
- }
- while(x!=0)
- {
- arr[--count]=chs[x&core];
- x=x>>>offset;
- }
- return new String(arr,count,32-count);
- }
- }
复制代码
|
|