leetcode 405. Convert a Number to Hexadecimal

 辗转相除法。对于负数,转为unsigned int即可。

    string toHex(int num) {
        if (num == 0)
            return "0";
        unsigned int ha = num;
        
        string ret;
        while (ha) {
            int re = ha % 16;
            if (re > 9)
                ret.push_back(re + 'a' - 10);
            else
                ret.push_back(re + '0');
            ha = ha / 16;
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }

 

posted on 2018-02-11 16:44  willaty  阅读(91)  评论(0编辑  收藏  举报

导航