最近, 在做东西的时候,需要把整数转换为16进制。原理和书本一样:不断的除以16,余数以倒序的方式排列,既是我们要的16进制数!
-
import java.util.*;
-
public class Int2hex {
-
/**
-
* @param args
-
*/
-
public static void main(String[] args) {
-
// TODO Auto-generated method stub
-
List<String> lst = new ArrayList<String>();
-
int input = 65536;
-
if (args.length > 0) {
-
input = Integer.parseInt(args[0]) ;
-
}
-
int temp2 = input;
-
-
while (((input % 16) != 0) || (input > 15)) {
-
String str1 = "";
-
switch (input % 16) {
-
case 0:
-
str1 = "0";
-
break;
-
case 1:
-
str1 = "1";
-
break;
-
case 2:
-
str1 = "2";
-
break;
-
case 3:
-
str1 = "3";
-
break;
-
case 4:
-
str1 = "4";
-
break;
-
case 5:
-
str1 = "5";
-
break;
-
case 6:
-
str1 = "6";
-
break;
-
case 7:
-
str1 = "7";
-
break;
-
case 8:
-
str1 = "8";
-
break;
-
case 9:
-
str1 = "9";
-
break;
-
case 10:
-
str1 = "A";
-
break;
-
case 11:
-
str1 = "B";
-
break;
-
case 12:
-
str1 = "C";
-
break;
-
case 13:
-
str1 = "D";
-
break;
-
case 14:
-
str1 = "E";
-
break;
-
case 15:
-
str1 = "F";
-
break;
-
}
-
lst.add(str1);
-
input = input / 16;
-
}
-
String temp = "";
-
int j = lst.size() - 1;
-
for (String string : lst) {
-
string = lst.get(j);
-
temp += string;
-
j--;
-
}
-
System.out.println("Int: " + temp2 + " Hex: 0X" + temp);
-
}
-
}
阅读(391) | 评论(0) | 转发(0) |