(l + r + 1)>>1; 是什么意思

在二分查找中 int mid = (l + r + 1)>>1; 是什么意思
( 这个 ">>" 不懂 )

>>是移位运算符
x>>1相当于x除以2
x>>N相当于x除以(2的N次方)

int mid = (l + r + 1)>>1;
相当于
int mid = (l + r + 1)/2;
应该是取中间的索引的意思(不过一般不用+1)