读书人

c语言二进制串转换为int的有关问题

发布时间: 2012-04-08 14:38:30 作者: rapoo

c语言二进制串转换为int的问题
看蓝点杯题目时有下面这段代码,作用如标题,问题见注释

C/C++ code
char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++){n = n * 2 + (p[i] - '0'); //这句话的p[i] - '0'什么意思?}printf("%d\n", n);

因为android一直学java。。坑爹报了个c/c++组。。不过也好,不管比赛结果如何,过了这阵子是该静心学c的。。

[解决办法]
p[i] - '0'

如果p[i]='1', 则p[i]-'0'='1'-'0'=1

读书人网 >C++

热点推荐