在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