用c语言十进制转十六进制
时间: 2023-04-05 18:05:25 浏览: 122
可以使用sprintf函数将十进制数转换为十六进制字符串,例如:
int num = 255;
char hex[3];
sprintf(hex, "%02X", num);
这里"%02X"表示输出两位十六进制数,不足两位前面补0。最终结果为"FF"。
相关问题
c语言十进制转十六进制字符串
可以使用以下代码实现c语言十进制转十六进制字符串:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void dec2hex(int n, char *str) {
int i = 0;
while (n > 0) {
int mod = n % 16;
if (mod < 10) {
str[i++] = mod + '0';
} else {
str[i++] = mod - 10 + 'A';
}
n /= 16;
}
str[i] = '\0';
int len = strlen(str);
for (int j = 0; j < len / 2; j++) {
char temp = str[j];
str[j] = str[len - j - 1]; str[len - j - 1] = temp;
}
}
int main() {
int n = 255;
char str[100];
dec2hex(n, str);
printf("十进制数 %d 转化为十六进制为: %s\n", n, str);
return 0;
}
C语言十进制转十六进制的子程序
在 C 语言中,可以写一个子程序来将十进制数转换为十六进制数的字符串表示形式。具体实现代码如下:
#include <stdio.h>
void decimal_to_hex(int decimal_num, char* hex_str) {
sprintf(hex_str, "%X", decimal_num); // 使用 sprintf 函数将十进制数转换为十六进制字符串
}
int main() {
int decimal_num = 255; // 十进制数
char hex_str[10]; // 存储十六进制字符串的数组
decimal_to_hex(decimal_num, hex_str); // 调用子程序将十进制数转换为十六进制字符串
printf("0x%s\n", hex_str); // 输出十六进制数
return 0;
}
上述代码中,我们声明了一个名为 decimal_to_hex
的子程序,该子程序接受两个参数:十进制数和存储十六进制字符串的数组。在子程序内部,我们使用 sprintf 函数将十进制数转换为十六进制字符串。在主函数中,我们先定义一个十进制数 decimal_num
,然后调用 decimal_to_hex
子程序将其转换为十六进制字符串,并输出结果。
相关推荐













