题目描述
解体思路
- 首先 我们获取到一个int数字
- 为了方便处理负数,我们采用无符号整型的类型来存放传入进来的数
- 16进制每4位进行一次运算所以我们
n&0xf - 运算完之后我们将这4位给他去掉
- 返回运算之后的结果ret
代码实现
class Solution {
char code(int n){
if(n>=10){
return n-10+'a';
}else{
return n+'0';
}
}
public:
string toHex(int num) {
unsigned int n=num;
if(!n){
return "0";
}
string ret;
while(n){
ret+=code(n&0xf);
n>>=4;
}
reverse(ret.begin(),ret.end());
return ret;
}
};