文章作者:里海
来源网站:里海C\C++专栏
#include
#include
using namespace std;
//十进制整数转十六进制字符串
string DecimalToHex(long long decimal)
{
string hex = "";
while (decimal > 0)
{
int remainder = decimal % 16;
if (remainder < 10)
hex = (char)(remainder + '0') + hex;
else
hex = (char)(remainder + 'A' - 10) + hex;
decimal /= 16;
}
return hex;
}
//十六进制字符串转十进制整数
long long HexToDecimal(string hex)
{
long long decimal = 0;
for (int i = 0; i < hex.size(); i++)
{
char c = hex[i];
if (c >= '0' && c <= '9')
decimal = decimal * 16 + (c - '0');
else
decimal = decimal * 16 + (c - 'A' + 10);
}
return decimal;
}
int main()
{
long long n = 3123197280;
cout << n << endl;
string hex = DecimalToHex(n);
cout << hex << endl;
n = HexToDecimal(hex);
cout << n << endl;
cin.get();
return 0;
}
输出:
3123197280
BA283560
3123197280
十进制和十六进制之间的转换在计算机科学和日常生活中都是非常重要的。十进制是我们日常生活中常用的计数系统,基于10个不同的数字(0-9)进行计数。而十六进制则是计算机内部使用的计数系统,基于16个不同的数字(0-9和A-F)进行计数。
要进行十进制到十六进制的转换,我们可以使用以下步骤:
同样,从十六进制转换到十进制,我们可以使用以下步骤: