C/C++实现十进制转十六进制
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
const int MAX = 100;
int HexArr[MAX] = { 0 };
int Dec_Conversion_Hex(int aDec)//十进制转十六进制输出函数
{
int temp = 0;
int count = 0;
while (0 != aDec)//aDec除16取余,直至商为零
{
temp = aDec;
aDec /= 16;
HexArr[count++] = (temp %= 16); //后置++,执行这条语句完后再进行count++
}
for (int i = count - 1; i >= 0; i--)//倒序输出
{
if (HexArr[i] > 9)
{
printf("%c", HexArr[i] - 10 + 'A');
}
else
{
printf("%d", HexArr[i]);
}
}
printf("\n");
return 0;
}
int main()
{
int Dec;
cin >> Dec;
Dec_Conversion_Hex(Dec);
system("pause");//作用:让调试窗口停留,不一闪而过。 Visual Studio 2017 及以上不需要这条语句
return 0;
}
调试结果