c语言实现各种进制转换的程序
时间: 2024-06-13 18:03:44 浏览: 176
C语言可以实现各种进制转换的程序。下面是一个简单的例子,可以将一个数从任意进制转换为十进制或将十进制转换为任意进制。
```
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char num[100];
int base, len, i, dec = 0, j = 0, rem;
printf("请输入一个数:");
scanf("%s", num);
printf("请输入该数的进制:");
scanf("%d", &base);
len = strlen(num);
for (i = len - 1; i >= 0; i--)
{
if (num[i] >= '0' && num[i] <= '9')
{
dec += (num[i] - '0') * pow(base, j);
}
else if (num[i] >= 'A' && num[i] <= 'Z')
{
dec += (num[i] - 'A' + 10) * pow(base, j);
}
else if (num[i] >= 'a' && num[i] <= 'z')
{
dec += (num[i] - 'a' + 10) * pow(base, j);
}
j++;
}
printf("转换为十进制为:%d\n", dec);
printf("请输入要转换的进制:");
scanf("%d", &base);
i = 0;
while (dec > 0)
{
rem = dec % base;
if (rem < 10)
{
num[i] = rem + '0';
}
else
{
num[i] = rem - 10 + 'A';
}
i++;
dec /= base;
}
printf("转换后的数为:");
for (j = i - 1; j >= 0; j--)
{
printf("%c", num[j]);
}
printf("\n");
return 0;
}
```
阅读全文