c语言实现二进制转换十进制的两种方法

发布时间 2023-03-30 11:57:04作者: 旺仔喔喔糖

法一:

#include<stdio.h>
#include<math.h>
int main(void){
int num[10];
int n,i=0,m=0;
scanf("%d",&n);
while(n){
num[i]=n%10;
i++;
n=n/10;
}
i--;
while(i>=0){
if(num[i]==1){
m+=pow(2,i);
}
i--;
}
printf("%d\n",m);
return 0;
}

 法二:

#include<stdio.h>
int main(void){

char ch;
int num=0;
while(ch=getchar(),ch!='\n'){
num=num*2+(ch-'0');
}

printf("%d\n",num);

}