- class ToBinHex
- {
- public static void main(String[] args)
- {
- trans(8709,15,4);
- }
- public static void trans(int num,int base,int offset)//base是要与上的数,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 pos=arr.length;
- while(num!=0)
- {
- int temp=num&base;
- arr[--pos]=chs[temp];
- num=num>>>offset;
- }
- for(int x=pos;x<arr.length;x++)
- {
- System.out.print(arr[x]);
- }
-
- //你执行完了 num==0 了 就在打印一次0呗, 放在第一行 刚开始没满足嘛 ,所以咯,, 就是程序执行顺序问题 搞定
- if(num==0)
- {
- System.out.println(0);
- return;
- }
-
-
- }
- }
复制代码 |