C语言利用字符串数组读取二进制数,并转换为十进制
时间: 2024-11-13 16:28:25 浏览: 25
C语言中,要将二进制数存储在字符串数组中并转换成十进制数,你可以采用分步骤的方法。首先,从字符串中按位提取每一位,然后逐位乘以权重(从右向左,权重是2的幂次),最后累加得到十进制结果。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数来计算字符串表示的二进制数值
int binaryToDecimal(char* binaryStr) {
int decimal = 0;
int length = strlen(binaryStr);
int power = 0;
for (int i = length - 1; i >= 0; i--) {
if (binaryStr[i] == '1') {
decimal += pow(2, power); // 如果字符是 '1',加上对应的2的幂
}
power++;
}
return decimal;
}
int main() {
char binaryArray[] = {'1', '0', '1', '1', '0', '0', '1'}; // 假设这是二进制字符串数组
int decimalValue = binaryToDecimal(binaryArray);
printf("The decimal value is: %d\n", decimalValue);
return 0;
}
```
在这个例子中,`binaryToDecimal`函数会处理输入的字符串数组,逐个字符检查是否为'1',如果是,则添加到十进制值上。
阅读全文