for(i = 0; bitstr[i] != '\0'; i++){
if(!(bitstr[i]=='0' || bitstr[i]=='1')){
printf("Not a valid bitstring!");
exit(0);
}
else{
sum = sum*2+bitstr[i];
}
}
printf("%d", sum);
たとえば、101 を入力すると、339 が出力されますが、答えとして 5 が出力されるはずです。何が間違っているのかわかりません。どんな助けでも大歓迎です。