思路:将二进制的每一位乘以二的幂次;
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define N 2
int main() {
实现二进制数转十进制数
int decimal = 0; //用于存储所得十进制数
char c;
int cw = 1;
int binary[50];
int i = 0;
printf("请输入二进制数:\n");
while (scanf("%c", &c) != EOF) {
if (c == '\n') {
continue;
}
binary[i++] = c - '0';
}//将二进制数输入数组中;
for (int j = i - 1; j >= 0; j--) {
decimal += binary[j] * cw;
cw*=N;
}
printf("the DEC is %d\n", decimal);
return 0;
}