java << >> >>> 的用法 以及能给一个解释不,没看懂啊解决思路
阅读
代码贴上
- Java code
package day21; public class chartoint { int i = 7 ; int j = -7; public static void main(String []args){ System.out.println(a.i>>3); System.out.println(a.j>>>28); System.out.println(a.j>>2); System.out.println(a.j<<2); } }
结果是 0 15 -2 -28 为什么啊 !!!
------解决方案--------------------
7 二进制表示为:
0000 0000 0000 0000 0000 0000 0000 0111
>>带符号右移。移3位为:(高位0表示正数)
0000 0000 0000 0000 0000 0000 0000 0000
10进制为0。
-7 二进制表示:
1111 1111 1111 1111 1111 1111 1111 1001
>>> 是无符号右移(空出高位补零)移28位后是:
0000 0000 0000 0000 0000 0000 0000 1111
10进制表示15。
-7>>2 是:
1111 1111 1111 1111 1111 1111 1111 1110
10进制为 -2。
-7<<2 是(右边补零)
1111 1111 1111 1111 1111 1111 1110 0100
10进制是-28。
是
阅读
上一篇:java写的程序,怎么测试其占用带宽 下一篇:返回列表