当前位置: 代码迷 >> Java相关 >> 高手帮帮忙啊,菜鸟新手恳求了
  详细解决方案

高手帮帮忙啊,菜鸟新手恳求了

热度:285   发布时间:2011-04-16 15:14:39.0
高手帮帮忙啊,菜鸟新手恳求了
public class URShift {
    public static void main(String[] args) {
        int i = -1;
        i >>>= 10;
        System.out.println(i);
        long l = -1;
        l >>>= 10;
        System.out.println(l);
        short s = -1;
        s >>>= 10;
        System.out.println(s);
        byte b = -1;
        b >>>= 10;
        System.out.println(b);
        }
        } ///:~
谁能告诉我一下,这段代码运行的过程和原因啊
----------------解决方案--------------------------------------------------------
java果然和 c++不一样,我怎么一点儿也看不懂呢
----------------解决方案--------------------------------------------------------
就是移位,没什么好讲的。楼主如果能去看看计算机里数的表示方式(定点,浮点),应该不会有疑问的。>>>是无符号右移。
比如i=-1;计算机中用补码表示,然后i >>>= 10;就是把所有位整体右移10位,左边补0,最后把这个结果赋给i。

[ 本帖最后由 洛云 于 2011-4-16 21:04 编辑 ]
----------------解决方案--------------------------------------------------------
  相关解决方案