2进制转换问题
int fun(char *str){int n;
char *p=str;
n=*p-'0';(这句话是什么意识)
p++;
while(*p)
{
n=n*2+*p-'0';(这句话是什么意识)
p++;
}
return n;
}
他的编程思路是怎样的啊 我看不懂!我是新手
----------------解决方案--------------------------------------------------------
2进制转换成10进制
----------------解决方案--------------------------------------------------------
n=*p-'0';将字符串内ASCII码值转换数值
n=n*2+*p-'0';累加数值
----------------解决方案--------------------------------------------------------
能不能详细点啊 我也是知道是累加 但我想知道 他这样编写是怎样想的
----------------解决方案--------------------------------------------------------
应该是*p-'\0';不是*p-'0';转换为ascii值,上面说的不对,其实办法很多,就按照<计算机文化基础>所讲的思路算法就可以了!不是吗?
----------------解决方案--------------------------------------------------------