405. 数字转换为十六进制数

2021-10-25  本文已影响0人  漫行者_

405. 数字转换为十六进制数

这题目里最难处理的就是变成负数的时候,补码
处理过程::long n = num<0? (long)(Math.pow(2,32) + num) : num;

    public String toHex(int num) {
        if(num == 0) return "0";
        long n = num<0? (long)(Math.pow(2,32) + num) : num;
        StringBuilder sb = new StringBuilder();
        while(n > 0) {
            long s = n % 16;
            char add = s >= 10? (char)('a' + s - 10): (char)('0' + s - 0);
            sb.append(add);
            n = n / 16;
        }
        return sb.reverse().toString();
    }
上一篇 下一篇

猜你喜欢

热点阅读