c语言十进制转十六进制
时间: 2023-10-19 15:13:18 浏览: 38
您可以使用C语言中的sprintf()函数将十进制数转换为十六进制数并存储在一个字符数组中。
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int num = 255;
char hex[20];
sprintf(hex, "%X", num);
printf("Hexadecimal equivalent of %d is %s", num, hex);
return 0;
}
```
输出结果为:
```
Hexadecimal equivalent of 255 is FF
```
在这个示例中,我们使用了sprintf()函数将整数num转换为十六进制数,并将结果存储在字符数组hex中。我们使用"%X"格式说明符来指定要将num转换为大写的十六进制数。最后,我们使用printf()函数将原始整数和十六进制等价值打印到控制台上。
相关问题
C语言 十进制转十六进制
C语言中,可以通过以下步骤将十进制数转换为十六进制数:
1. 将十进制数不断除以16,直到商为0为止,将每次的余数保存下来。
2. 将保存的余数倒序排列,即为该十进制数对应的十六进制数。
下面是一个示例代码:
```
#include <stdio.h>
void decToHex(int num) {
int rem, i = 0;
char hex[50];
while (num != 0) {
rem = num % 16;
if (rem < 10) {
hex[i] = rem + 48;
} else {
hex[i] = rem + 55;
}
i++;
num /= 16;
}
printf("Hexadecimal number: ");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
decToHex(decimal);
return 0;
}
```
该代码中,我们定义了一个名为`decToHex`的函数,该函数接受一个十进制数作为参数,并将其转换为十六进制数。在函数中,我们使用了一个字符数组`hex`来保存每次的余数,然后将其倒序输出即可得到最终的十六进制数。在`main`函数中,我们通过`scanf`函数获取用户输入的十进制数,并调用`decToHex`函数将其转换为十六进制数并输出。
C语言十进制转十六进制
下面是一个将十进制数转换为十六进制数的C语言程序示例:
```c
#include <stdio.h>
int main() {
int decimal, remainder, quotient;
char hex[20];
int i = 0;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
quotient = decimal;
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10)
hex[i++] = 48 + remainder;
else
hex[i++] = 55 + remainder;
quotient = quotient / 16;
}
printf("Hexadecimal equivalent: ");
for (int j = i - 1; j >= 0; j--)
printf("%c", hex[j]);
return 0;
}
```
该程序通过使用除以16和取余运算符来将十进制数转换为十六进制数,并使用ASCII码将十六进制数转换为字符。