C语言中下面这句话是什么意思?那个>>符号看不懂…… int mid=(l+r)>>1;

如题所述

是比特操作,可以看做是除2,如
12的二进制表示是00001100,12>>1将00001100右移一位,变为00000110,即6.
又如
15的二进制表示是00001111,15>>1将00001111右移一位,变为00000111,即7.
另外<<就是左移,相当于乘以2.
希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-24
这是位操作符,即将l+r的结果右移一位就是mid的值,<<是左移
第2个回答  2011-02-24
位移操作符,l+r的和向右位移一位

例如l+r=2
二进制位
00000010
右移一位
00000001
十进制为1
相似回答