日期:2014-05-20  浏览次数:20678 次

java按位运算符
5<<3
-5<<3
5<<-3
-5<<-3
请详细的说明下上面的打印结果,并说明下为什么,多谢了

------解决方案--------------------
http://www.ticmy.com/?p=46
------解决方案--------------------
将左操作数转换为二进制就好理解了,左移运算符还好一点,直接移去n个就可以了,右移要考虑算术右移还是逻辑右移,java里面根据>>和>>>来区分

假如5<<3这个运算,5的二进制为0000 0101,左移三位为0010 1000 = 32+8 = 40