关于C的运算

来源:百度知道 编辑:UC知道 时间:2024/05/04 17:09:12
main()
{int i,n=0,b[16];
scanf("%d",&i);
for(;i;i>>=1)b[n++]=i&1; /*这句中的i>>=1是什么意思?*/
for(;n;)printf("%d",b[--n]);}

i = i>>1
就是i右移1位。

i右移一位后再赋值给i
i=10101111的话(十进制=175),执行此语句后i就=01010111 十进制就=87
移8次后i就=0了 ,循环也就结束了
这是C语言的特色之一,位处理