c 语言10进制转16进制程序
时间: 2023-08-04 17:07:03 浏览: 94
下面是一个简单的C语言程序,可以将一个10进制数转换为16进制数:
```c
#include <stdio.h>
int main()
{
int num, i = 0, j;
char hex_num[100];
printf("请输入一个十进制数:");
scanf("%d", &num);
while (num != 0)
{
int temp = 0;
temp = num % 16;
if (temp < 10)
{
hex_num[i] = temp + 48;
i++;
}
else
{
hex_num[i] = temp + 55;
i++;
}
num = num / 16;
}
printf("转换为十六进制数为:");
for (j = i - 1; j >= 0; j--)
{
printf("%c", hex_num[j]);
}
return 0;
}
```
程序首先要求用户输入一个十进制数,然后使用while循环将其转换为16进制数并存储在一个字符数组中。最后,程序输出转换后的16进制数。
相关问题
c 语言16进制转10进制
要将C语言中的16进制数转换为10进制,可以使用`strtol`函数。该函数可以将字符串转换为长整型数。
以下是一个示例代码,演示如何将16进制数转换为10进制:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex[] = "A1F"; // 16进制数
long decimal;
decimal = strtol(hex, NULL, 16);
printf("十六进制数 %s 的十进制表示为:%ld\n", hex, decimal);
return 0;
}
```
运行上述代码,输出将是:
```
十六进制数 A1F 的十进制表示为:2591
```
c 语言10进制转2进制
以下是将十进制数转换为二进制数的C语言代码:
```c
#include <stdio.h>
int main() {
int decimal, binary[32], i = 0;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
printf("转换为二进制数为:");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
return 0;
}
```
该程序首先提示用户输入一个十进制数,然后使用循环将其转换为二进制数,并将每个位的二进制位存储在数组中。最后,使用另一个循环按相反的顺序输出二进制位,从而得到转换后的二进制数。