十进制转十六进制C语言函数
时间: 2023-11-17 15:07:05 浏览: 368
以下是两种将十进制数转换为十六进制的C语言函数:
1. 迭代版本
```c
// 函数定义:将十进制数转换为十六进制(迭代版本)
void decimalToHexadecimal(int decimalNumber) {
char hexadecimalNumber[50]; // 用于存储十六进制结果的字符数组
int index = 0; // 用于记录字符数组下标
while(decimalNumber != 0) {
int remainder = decimalNumber % 16; // 求余数
if(remainder < 10) {
hexadecimalNumber[index] = remainder + 48; // 将余数转换为字符
} else {
hexadecimalNumber[index] = remainder + 55; // 将余数转换为字符
}
index++; // 下标加1
decimalNumber /= 16; // 十进制数除以16
}
// 反转字符数组
for(int i = index - 1; i >= 0; i--) {
printf("%c", hexadecimalNumber[i]);
}
}
```
2. sprintf函数版本
```c
// 函数定义:将十进制数转换为十六进制(sprintf函数版本)
char buffer[33]; // 用于存放转换好的十六进制字符串,可根据需要定义长度
char* intToHex(int decimalNumber) {
sprintf(buffer, "%x", decimalNumber); // 将十进制数转换为十六进制字符串
return buffer;
}
```
阅读全文