读书人

java lt;lt; gt;gt; gt;gt;gt; 的用法 以及能给一

发布时间: 2012-10-15 09:45:24 作者: rapoo

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。


读书人网 >J2SE开发

热点推荐