基本思想:
- 解析字符串(0 or 1)
- 分离每个位权数
- 累加
#include<bits\stdc++.h>
// 2 进制转 10 进制
int main()
{
char numTo2[1000] = {'\0'};
// 输入 2 进制数据 0 or 1
gets(numTo2);
int i = 0;
// 位权
int quan = 0;
// 总和
int sum = 0;
// 数组长度
int len = strlen(numTo2);
while(numTo2[i] != '\0')
{
if(numTo2[i] == '1')
sum += (int)pow(2, len - quan - 1);
quan++;
i++;
}
printf("%d",sum);
return 0;
}