本帖最后由 杨国祯 于 2012-4-24 16:09 编辑
这是位运算符,也成为移位运算,也就是 把数字转换成二进制后,进行移位运算,
a>>1就是整体向右移动一位
这里分两种 << >> 两种符号
你提到的是右移运算符 >>
1)右移的规则:符号位不变(正负不变),向右边移出x位,同时最左边补上符号位
2)运算规则:
按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1
3)总结
右移一位相当于除2,右移n位相当于除以2的n次方。 给你举一个特殊的例子
25 >> 2(25为int型)
A、把25转换为二进制:这个会吧00000000 00000000 00000000 00011001
B、把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。00000000 00000000 00000000 00000110
C、转换为十进制: 6
这个很清晰了吧,左移类似但不一样!以后有时间再写!
|