查表法
十进制转二进制
public static void toBin2(int num){
//二进制表
char chs[]={‘0‘,‘1‘};
//临时存结果的
char[] arr=new char[32];
//临时指针
int pos=arr.length;
while(num!=0){
int temp=num&1;
arr[--pos]=chs[temp];
num=num>>>1;
}
for (int i = pos; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
十进制转十六进制
public static void toHex2(int num){
//先存数组便于对应查询
char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘
,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};
//临时容器存放结果
char arr[]=new char[8];
//临时指针
int pos=arr.length;
while(num!=0) {
int temp=num&15;
arr[--pos]=chs[temp];
num=num>>>4;
}
//反向输出数组
for (int i = pos; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
时间: 2024-10-06 06:01:10