🌕🌗 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();
    }
}
输出
