第2个回答 2024-05-11
#include <stdio.h>
int main(void){
char a[16];//定义字符串数组及大小
int sum = 0;//定义并初始化二进制转十进制之后的结果
gets(a);输入字符串
int n = strlen(a);定义所读取的字符串长度
for(int i =n-1,p = 1;i >= 0;i--)//定义字符串数组从a[n-1]到a[0]以及二进制初始值2的零次方,并从末尾循环遍历数组
{
sum += (a[i] - 48)*p;//将输入字符串中的0或1转化为二进制中的数字0或1
p = p*2;
}
printf("二进制转化为十进制的结果为%d",sum)
return 0;
}