LeetCode 405 ----- 数字转换为十六进制数
题目描述
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。
思路
一个int= 4字节 = 32位
32位可分为8个4位
一次遍历4位,遍历8次
将每个4位转化为16进制的数
实现
/**
* Author: lisiyu
* Created: 2019/12/26
*/
public class ToHex405 {
public String toHex(int num) {
if (num == 0) {
return "0";
}
String ret = "";
String cur = "0123456789abcdef";
while ((num != 0) && (ret.length() < 8)) {
ret = cur.charAt(num & 0xf) + ret;
num >>= 4;
}
return ret;
}
}