原文题目:
405. Convert a Number to Hexadecimal
解题:
十进制转16进制的问题,主要考虑负数的情况复杂一些,但是可以通过位与运算进行回避
AC代码:
class Solution { public: string toHex(int num) { string hexstring ="0123456789abcdef"; string s =""; while(num) { s = hexstring[num&0xf] + s; //注意s在+后面 num = (unsigned int)num >> 4; //除以16,也就是向右移动4bit } return s.empty()?"0":s; //考虑num为0的情况 } };