c语言数制转换系统代码
时间: 2024-09-28 22:08:15 浏览: 68
在C语言中,实现数制转换通常涉及整型数据的进制表示。以下是两个常见的转换例子,一个是将十进制转成其他进制(如二进制、八进制或十六进制),另一个是从其他进制字符串转成十进制。
1. **十进制转其他进制** (例如二进制):
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void decimalToAnyBase(int decimal, char base[], int len) {
if (decimal == 0) {
base[len - 1] = '\0';
printf("%s\n", base);
} else {
int remainder;
while (decimal > 0) {
remainder = decimal % base;
base[len] = remainder + '0'; // 对应于0-9的ASCII值加'0'
decimal /= base; // 更新十进制数
len--;
}
base[len] = '\0'; // 添加终止符
printf("%s\n", base);
}
}
int main() {
int decimal_num = 42;
char binary[32]; // 假设最大支持32位二进制
decimalToAnyBase(decimal_num, binary, sizeof(binary));
return 0;
}
```
2. **从其他进制字符串转十进制**:
```c
#include <stdio.h>
#include <string.h>
int stringToInt(char *str, int base) {
int len = strlen(str), result = 0;
for (int i = 0; i < len; i++) {
result *= base;
result += str[i] - '0'; // 注意这里需要减去字符对应的数字值('0'-'9')
}
return result;
}
int main() {
char hex_str[] = "2A"; // 示例,一个十六进制字符串
printf("十进制值: %d\n", stringToInt(hex_str, 16));
return 0;
}
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.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)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)