Discuss / Java / 转十六进制

转十六进制

Topic source
private static String toHex(int n) {  Deque<String> stack = new LinkedList<>();  StringBuilder hex = new StringBuilder();  Map<Integer, String> hexSet = new HashMap<>();  hexSet.put(1, "1");  hexSet.put(2, "2");  hexSet.put(3, "3");  hexSet.put(4, "4");  hexSet.put(5, "5");  hexSet.put(6, "6");  hexSet.put(7, "7");  hexSet.put(8, "8");  hexSet.put(9, "9");  hexSet.put(0, "0");  hexSet.put(10, "A");  hexSet.put(11, "B");  hexSet.put(12, "C");  hexSet.put(13, "D");  hexSet.put(14, "E");  hexSet.put(15, "F");  while (n > 1) {    Integer remainder = n % 16;    n = n / 16;    stack.addFirst(hexSet.get(remainder));  }  while (stack.peekFirst() != null) {    hex.append(stack.pollFirst());  }  return hex.toString();}

  • 1

Reply