请泄出数据结构 c语言 实现计算机进制转换功能的代码(进制间可以选择转化)
时间: 2024-02-21 08:57:28 浏览: 29
好的,以下是一个实现十进制与其他进制之间转换的C语言代码示例,其中包括二进制、八进制和十六进制的转换。
```c
#include<stdio.h>
#include<stdlib.h>
// 定义数字位数上限
#define MAX_NUM_DIGITS 100
// 将十进制数字转换为其他进制
void decimalToOther(int num, int base) {
int digits[MAX_NUM_DIGITS], i = 0;
// 将数字每一位存储到数组中
while (num != 0) {
digits[i++] = num % base;
num = num / base;
}
// 倒序输出数组中的数字(即为转换后的数字)
for (int j = i - 1; j >= 0; j--) {
// 将10-15转换为A-F输出
if (digits[j] >= 10) {
printf("%c", digits[j] - 10 + 'A');
} else {
printf("%d", digits[j]);
}
}
printf("\n");
}
// 将其他进制数字转换为十进制
int otherToDecimal(char* numStr, int base) {
int num = 0;
for (int i = 0; numStr[i] != '\0'; i++) {
int digit = numStr[i];
// 将A-F转换为10-15
if (digit >= 'A' && digit <= 'F') {
digit = digit - 'A' + 10;
} else {
digit = digit - '0';
}
num = num * base + digit;
}
return num;
}
int main() {
int num, base;
char numStr[MAX_NUM_DIGITS];
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("请输入要转换的进制(2/8/16):");
scanf("%d", &base);
printf("转换后的结果为:");
decimalToOther(num, base);
printf("请输入一个二进制数:");
scanf("%s", numStr);
printf("转换后的结果为:%d\n", otherToDecimal(numStr, 2));
printf("请输入一个八进制数:");
scanf("%s", numStr);
printf("转换后的结果为:%d\n", otherToDecimal(numStr, 8));
printf("请输入一个十六进制数:");
scanf("%s", numStr);
printf("转换后的结果为:%d\n", otherToDecimal(numStr, 16));
return 0;
}
```
希望这个代码示例能够帮到您。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)