最近, 在做东西的时候,需要把整数转换为16进制。原理和书本一样:不断的除以16,余数以倒序的方式排列,既是我们要的16进制数!
代码:
mport 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); } }