C语言实现十进制转换为十六进制的函数
时间: 2023-09-02 09:07:44 浏览: 129
C实现十进制至十六进制的转换
4星 · 用户满意度95%
可以使用以下代码实现:
```c
void dec2hex(int dec, char* hex) {
int i = 0;
while(dec > 0) {
int remainder = dec % 16;
if(remainder < 10) {
hex[i] = remainder + 48;
} else {
hex[i] = remainder + 55;
}
i++;
dec /= 16;
}
hex[i] = '\0';
strrev(hex); // 反转字符串
}
```
该函数接受一个十进制数 `dec` 和一个指向字符数组的指针 `hex`。函数将把 `dec` 转换为十六进制并存储在 `hex` 中。函数中的 `strrev` 是一个自定义的字符串反转函数,用于反转字符串以使其正确表示十六进制数。
例如,如果要将十进制数 255 转换为十六进制,可以使用以下代码:
```c
char hex[10];
dec2hex(255, hex);
printf("Hexadecimal representation: %s\n", hex);
```
该代码将输出:
```
Hexadecimal representation: FF
```
阅读全文