C++实现x进制转y进制
时间: 2024-02-04 10:02:16 浏览: 75
以下是 C 语言实现的 x 进制转 y 进制的函数:
```c
#include <stdio.h>
#include <string.h>
void convert(int num, int base)
{
char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char result[100];
int i = 0;
while (num > 0) {
result[i++] = digits[num % base];
num /= base;
}
for (int j = i - 1; j >= 0; j--)
printf("%c", result[j]);
}
int main()
{
int num, x, y;
printf("Enter the number: ");
scanf("%d", &num);
printf("Enter the base of the number: ");
scanf("%d", &x);
printf("Enter the base to convert to: ");
scanf("%d", &y);
int decimal = 0, i = 0;
// convert number to decimal
while (num > 0) {
decimal += (num % 10) * pow(x, i);
num /= 10;
i++;
}
printf("The number in base %d is: ", y);
convert(decimal, y);
printf("\n");
return 0;
}
```
该函数将输入的 x 进制数转换为十进制数,然后将十进制数转换为 y 进制数。其中,digits 数组包含了数字和字母,用于将数字转换为对应的字符。函数中使用了 pow 函数,可以使用 math.h 头文件来包含它。
阅读全文