给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。
注意:
(a-f)
都必须是小写。‘0‘
来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 输入:
26
输出:
"1a"
输入:
-1
输出:
"ffffffff"
class Solution {
public:
string toHex(int num) {
string mp = "0123456789abcdef";
string res = "";
if(num == 0){
return "0";
}
int idx = 0;
for(int i = 0; i < 8; i++){
idx = num&0x0f;
res = mp[idx] + res;
num >>= 4;
if(num == 0){
break;
}
}
return res;
}
};
leetcode 405. 数字转换为十六进制数(Convert a Number to Hexadecimal)
原文:https://www.cnblogs.com/zhanzq/p/10577875.html