数据结构 C语言实现数制转化代码
时间: 2024-11-28 22:26:41 浏览: 20
在 C 语言中,数据结构通常用于存储和组织数据,而数制转换涉及字符串处理。下面是一个简单的示例,展示了如何将十进制数转换成其他进制(例如二进制、八进制或十六进制),这里我们仅展示二进制转换的部分,但你可以根据需要扩展到其他进制。
首先,我们需要两个辅助函数,`get_decimal_digit` 和 `convert_to_binary`,前者用于获取十进制数字的最低位,后者负责递归地完成整个转换过程。
```c
#include <stdio.h>
#include <string.h>
// 获取十进制数的最低位(0-9)
int get_decimal_digit(int num, int base) {
return num % base;
}
// 将十进制数转换为指定进制的字符串表示
char* convert_to_binary(int decimal, char result[], int base) {
if (decimal == 0) {
result[0] = '\0'; // 结束字符串
return result;
} else {
char digit = get_decimal_digit(decimal, base);
result[strlen(result)] = '0' + digit; // 添加当前位
result[strlen(result)+1] = '\0'; // 结尾添加空字符
return convert_to_binary(decimal / base, result, base); // 递归调用
}
}
int main() {
int decimal_num;
printf("Enter a decimal number: ");
scanf("%d", &decimal_num);
// 定义结果字符串
const int BUFFER_SIZE = 64;
char binary_result[BUFFER_SIZE];
// 转换并打印结果
strcpy(binary_result, convert_to_binary(decimal_num, binary_result, 2));
printf("Binary representation: %s\n", binary_result);
return 0;
}
```
阅读全文