用C语言数组将二进制转换成十进制
时间: 2024-12-25 11:28:21 浏览: 4
C语言用栈实现十进制转换为二进制的方法示例
5星 · 资源好评率100%
在C语言中,将二进制数转换成十进制可以分为两步:首先,从二进制数组中读取每一位,然后逐位相加。这里假设我们有一个存储二进制数的字符数组,每个字符代表一位数字(0 或 1)。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 将二进制字符串转换为十进制整数
int binaryToDecimal(char binary[]) {
int decimal = 0;
int base = 1; // 表示当前计算的位权
for (int i = strlen(binary) - 1; i >= 0; i--) {
if (binary[i] == '1') { // 如果是1,则加上该位的值
decimal += base;
}
base *= 2; // 移位,下一位的值是上一位的两倍
}
return decimal;
}
int main() {
char binary[] = "1010"; // 示例二进制数
int decimal_value = binaryToDecimal(binary);
printf("Binary %s is equal to decimal %d.\n", binary, decimal_value);
return 0;
}
```
在这个例子中,`binaryToDecimal`函数从右向左遍历输入的二进制字符串,每次乘以2并检查当前位是否为1,如果是则累加到`decimal`变量中。
阅读全文