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