请教一下有关位操作的问题
程序很短,如下问题主要在红字那一句,问题有3
1.*运算符和++运算符的优先级谁比较高
2.- '0' 这个操作是啥意思
3.( dec<<1 ) + *p++ 这一步是啥意思
#include <stdio.h>
int bin_dec(char *p);
char * pbin = "01001001";
int main(void)
{
printf("bin: %s is dec: %d\n", pbin, bin_dec(pbin));
return 0;
}
int bin_dec(char *p)
{
int dec=0;
while(*p != '\0')
dec = ( dec<<1 ) + *p++ - '0' ;
return dec;
}