java的移位运算
2011-08-04 09:49
337 查看
">>>"逻辑右移,左边添加0
注意 char,byte和short在逻辑右移时会先转换成int,然后在int的基础上逻辑右移。long型的移位
long型移位很诡异,不知道怎么回事,long l = -21474837000L;
System.out.println(l);
BitManipulation.pBinLong("l", l);
l >>>= 3;
System.out.println(l);
BitManipulation.pBinLong("l", l);
1111111111111111111111011111100011111111111111111111110111111000
1101111111111111111111111011111111011111111111111111111110111111
如果, l 赋值时为一个int范围内的数,貌似前后32个bit内容一样, 移位也是基于32位移, 前后32位各自分别右移3位
而,如果l赋值为超过int范围的值时, 不知道怎么移位的, 如上例好像在逻辑右移3位, 好像在前后各个32位前移进来110;
而且, 不管逻辑右移还是右移, 得到的二进制数一样, 但是逻辑右移后的数 会解释成无符号数。
why
相关文章推荐
- java 移位运算 "<<"、">>"、">>>"
- Java移位运算的注意事项及小技巧
- 关于java移位运算
- JAVA移位运算,INT类型颜色到RGB转换
- [置顶] Java运算符 与(&)、非(~)、或(|)、异或(^)、移位运算
- java的移位运算
- JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)
- 【Java】移位运算
- JAVA的移位运算
- java基础--数组Arrays、递归、移位运算、位运算符
- Java_移位运算
- java 二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题
- Java中位运算(移位、位与、或、异或、非)
- Java 位运算(移位、位与、或、异或、非)
- Java中的位运算符、移位运算
- 二分查找 与 Java移位运算
- java移位运算
- java 左右移位运算
- Java中的位运算符、移位运算
- java 移位运算