在C ++中将数字转换为十六进制
为了解决这个问题,我们将遵循以下步骤-
如果num1与0相同,则-
返回“0”
num:=num1
s:=空字符串
当num不为零时,执行-
s:=s+temp作为字母
s:=s+temp作为数字字符
temp:=nummod16
如果temp<=9,则-
除此以外
num:=num/16
反转数组
返回s
例
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
string toHex(int num1){
if (num1 == 0)
return "0";
u_int num = num1;
string s = "";
while (num) {
int temp = num % 16;
if (temp <= 9)
s += (48 + temp);
else
s += (87 + temp);
num = num / 16;
}
reverse(s.begin(), s.end());
return s;
}
};
main(){
Solution ob;
cout << (ob.toHex(254)) << endl;
cout << (ob.toHex(-12));
}输入值
254 -12
输出结果
fe fffffff4