题目:十进制转十六进制
#include<stdio.h>
//十进制转十六进制
void decimalToHexdecimal(int decimal) {
char hexadecimal[100];
int index = 0;
while (decimal > 0)
{
int reinder = decimal % 16; //获取余数作为十六进制位 30 % 16 = 14 14 1 * 16 + 14 =30
if (reinder < 10)
{
hexadecimal[index++] = reinder + '0'; //将数字转化为字符
} else {
hexadecimal[index++] = reinder - 10 + 'A'; //大于9的数字转换为对应的字母字符
}
decimal /=16; // 30/16 =1
}
for (int i=index-1;i>=0;i--) {
printf("%c", hexadecimal[i]);
}
}
int main() {
int decimal = 31;
decimalToHexdecimal(decimal);
return 0;
}
运行结果: