[讨论]一个二进制数的字符数组怎样转换成十进制?
char bin[10];//bin[10]已赋值 如:1011001010
int n=0;
for(int j=0;j<strlen(bin);j++)
{
n+=bin[j]*(2^(strlen(bin)-1-j));
}
printf("十进制数是:%d\n",n);
为什么这样做得不到正确结果?
我知道了
我出错在 bin[]
应该改为int型数组
另外你的那样是错的
比如
bin[0]*pow(2,0);
数组第一位应该 陈以2^9