C语言转换为16进制
时间: 2024-10-27 16:14:08 浏览: 11
C语言数字ASCII转换成16进制互转.c
5星 · 资源好评率100%
在C语言中,你可以使用标准库函数`itoa()`或`printf()`函数将整数转换成16进制字符串。这里有几个例子:
1. 使用`itoa()`函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void to_hexadecimal(int num) {
char hex[50]; // 预估最大16进制数需要16位
int i = 0;
if (num == 0)
hex[i++] = '0';
else {
while (num > 0) {
hex[i] = num % 16 + '0'; // 0-9
if (hex[i] > '9') // A-F
hex[i]++;
i++;
num /= 16;
}
}
// 输出反转的字符串
hex[i] = '\0';
for (int j = i - 1; j >= 0; j--)
printf("%c", hex[j]);
}
int main() {
int number = 42;
to_hexadecimal(number);
return 0;
}
```
2. 使用`printf()`函数:
```c
int main() {
int number = 42;
printf("Hexadecimal representation: %x\n", number);
return 0;
}
```
上面的`%x`是占位符,`printf`会自动将其替换为对应的16进制表示。
阅读全文