🌕🌗 405. 数字转换为十六进制数
2022年10月10日
- algorithm
🌕🌗 405. 数字转换为十六进制数
难度: 🌕🌗
问题描述
解法
class Solution {
public String toHex(int num) {
// 思路:
// 分组运算 - 一个 16 进制数可以用 4 个二进制数表示,因此分为 最多 8 组运算
// 由于负数本身也满足二进制转换要求,本身就是补码形式存在,因此正负数转换相同
if(num == 0) {
return "0";
}
StringBuilder sb = new StringBuilder();
while(num != 0) {
int cur = (num & 15);
if(cur <= 9) {
char tmp = (char)('0' + cur);
sb.insert(0, tmp);
} else {
char tmp = (char)('a' + cur - 10);
sb.insert(0, tmp);
}
num >>>= 4;
}
return sb.toString();
}
}