关闭

十进制转换成十六进制

94人阅读 评论(0) 收藏 举报
分类:

 整体思路:除基取整,逆序输出。


package com.zzp.demo;

import java.util.HashMap;
import java.util.Map;

/**
 * 十进制转换成十六进制
 * 
 * @author
 *
 */
public class APPTest2 {

	public static final int HEX = 16;
	public static final Map<String, String> initMap = new HashMap<String, String>();

	static {
		for (int i = 0; i < 10; i++) {
			initMap.put(String.valueOf(i), String.valueOf(i));
		}
		initMap.put("10", "A");
		initMap.put("11", "B");
		initMap.put("12", "C");
		initMap.put("13", "D");
		initMap.put("14", "E");
		initMap.put("15", "F");
	}

	public static void main(String[] args) {
		convertToHex(65036);
	}

	/**
	 * 十进制转换成十六进制,整体思路:除基取余
	 * 
	 * @param n
	 */
	public static void convertToHex(int n) {
		StringBuilder sb = new StringBuilder();
		// 循环除以16取余数
		while (n > 0) {
			int mod = n % HEX;
			sb.append(initMap.get(String.valueOf(mod)));
			n = n / HEX;
		}

		// 逆向输出
		reversePrint(sb.toString());
	}

	/**
	 * 逆向打印出字符串
	 * 
	 * @param s
	 */
	public static void reversePrint(String s) {
		for (int i = s.length() - 1; i >= 0; i--) {
			System.out.print(s.charAt(i));
		}
	}
}
执行输出:FE0C

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1651次
    • 积分:92
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档