除以16取余 继续这个过程直到为0
对于负数,直接将int 转成 unsigned int 运算即可
法二:利用位运算取出每四位 ,然后对应一个字母
class Solution {
public:
string toHex(int num) {
if(num==0){
return "0";
}
string ret = "";
unsigned int num1 = num;
while( num1>0 ){
int cur = num1%16;
if( cur>=10 ){
ret = string(1,cur-10+'a') + ret;
}else{
ret = string(1,cur+'0') + ret;
}
num1/=16;
}
return ret;
}
};
标签:十六进制,cur,int,ret,405,num,num1,leetcode,string
From: https://blog.51cto.com/liyunhao/6077019