c语言任意进制转换代码
时间: 2023-11-07 21:02:44 浏览: 243
C语言可以通过一些简单的代码来实现任意进制之间的转换。下面是一个将十进制数转换为其他进制的示例代码:
```c
#include <stdio.h>
#include <math.h>
void convertToBase(int num, int base) {
int remainder[100];
int i = 0;
while (num > 0) {
remainder[i] = num % base; // 求余数
num = num / base; // 更新被除数
i++;
}
printf("转换后的结果为:");
for (int j = i - 1; j >= 0; j--) {
if (remainder[j] >= 10) {
printf("%c", remainder[j] + 55); // 将大于等于10的数转化为A~F
} else {
printf("%d", remainder[j]);
}
}
}
int main() {
int num, base;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("请输入要转换的进制:");
scanf("%d", &base);
if (base <= 1 || base > 16) {
printf("输入的进制不合法!");
} else {
convertToBase(num, base);
}
return 0;
}
```
以上代码中,我们首先输入一个十进制数和要转换的进制,然后通过除法运算和求余运算依次得到转换后的结果。最后对于大于等于10的数,将其转换为A~F。这样就可以将十进制数转换为其他进制的结果打印出来了。
需要注意的是,以上代码只能做十进制转换为其他进制的功能。如果要实现其他进制转换为十进制的功能,可以通过类似的思路进行编码。
阅读全文