用C语言将十进制转化为十六进制
时间: 2023-06-15 16:02:56 浏览: 215
以下是将十进制数转换为十六进制数的C语言程序:
```c
#include <stdio.h>
void decToHex(int dec) {
int rem, i=0;
char hex[50];
while (dec != 0) {
rem = dec % 16;
if (rem < 10) {
hex[i] = rem + 48;
} else {
hex[i] = rem + 55;
}
i++;
dec /= 16;
}
printf("The hexadecimal equivalent is: ");
for (int j=i-1; j>=0; j--) {
printf("%c", hex[j]);
}
}
int main() {
int dec;
printf("Enter a decimal number: ");
scanf("%d", &dec);
decToHex(dec);
return 0;
}
```
该程序首先定义了一个`decToHex`函数,该函数将十进制数转换为十六进制数,并将其存储在一个字符数组中。然后,`main`函数中获取用户输入的十进制数,调用`decToHex`函数,将结果打印在屏幕上。
例如,如果输入的十进制数为255,则输出的十六进制数为FF。
相关问题
C语言将十进制正整数转化为十六进制
下面是一个将十进制正整数转换为十六进制的C语言代码:
```c
#include <stdio.h>
void decimal_to_hexadecimal(int decimal_num) {
int remainder, quotient;
char hexadecimal_num[100];
int i = 0;
quotient = decimal_num;
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10)
hexadecimal_num[i++] = 48 + remainder;
else
hexadecimal_num[i++] = 55 + remainder;
quotient = quotient / 16;
}
printf("十六进制数为: ");
for (int j = i - 1; j >= 0; j--)
printf("%c", hexadecimal_num[j]);
}
int main() {
int decimal_num;
printf("请输入一个十进制正整数: ");
scanf("%d", &decimal_num);
decimal_to_hexadecimal(decimal_num);
return 0;
}
```
运行结果:
```
请输入一个十进制正整数: 255
十六进制数为: FF
```
十进制转化为十六进制c语言
要将一个十进制数转换为十六进制数,可以使用C语言中的sprintf()函数来实现。
下面是一个将十进制数转换为十六进制数的C语言代码示例:
```c
#include <stdio.h>
int main() {
int decimal = 255;
char hex[10];
sprintf(hex, "%X", decimal);
printf("Decimal %d is Hexadecimal %s\n", decimal, hex);
return 0;
}
```
上述代码中,我们定义了一个整型变量decimal,其值为255。然后,我们创建了一个字符数组hex,用于存储转换后的十六进制数。
接着,我们使用sprintf()函数将十进制数转换为十六进制数,并将其存储到hex数组中。"%X"表示将整数以十六进制形式输出,字母大写。
最后,我们使用printf()函数输出转换前后的数值。
执行上述代码,输出结果为:
```
Decimal 255 is Hexadecimal FF
```
可以看到,255被正确地转换为了十六进制数FF。