java的逻辑左移<<,逻辑右移>>和无符号逻辑右移>>>

来源:互联网 发布:网络使用情况调查问卷 编辑:程序博客网 时间:2024/06/07 13:23

java的逻辑左移(<<)是指将二进制数的所有位向左移,后面移走的位置用0补足,例如,1101 0101 左移1位:1101 0101 0(右侧补0,左侧直接左移,不会移走)。十进制数左移,相当于将数乘以2的n次方。例如将12<<3,就相当于12*2^3=12*8=96。

java逻辑右移(>>)是指将二进制数所有位向右移动,左侧移走部分使用符号扩展,正数(符号位:0)用0补,负数(符号位:1)用1补。十进制相当于除2的n次方。例如,156的二进制为1001 1100,156为正数,所以符号位是0,右移一位用0补,为:0100 1110。换算成十进制为78,相当于156除以2.

java无符号逻辑右移(>>>)是指移出的低位舍弃,高位补0。

原创粉丝点击