yzzzlijun 2009-09-07 22:18
浏览 177
已采纳

关于JAVA基础的问题

这个是什么运算,能不能举例?谢谢

  • 写回答

5条回答 默认 最新

  • walsh_bupt 2009-09-08 09:20
    关注

    = 是移位运算符,既然是移位,那运算的对象就是二进制的“位”。

    而对于这个运算符是“无符号”右移位操作符,符号左边指定的是操作数,符号右边指定的是向右边移动的位数,无论左边操作时是正是负,在向右移动的过程中,左边高位都插入0.

    举例如下:
    [code="java"]public class URShift {
    public static void main(String[] args) {
    // int类型在Java中占用32位
    int i = -1;
    System.out.println(Integer.toBinaryString(i));
    i >>>= 10;//向右移位,高位补0
    System.out.println(Integer.toBinaryString(i));

        int j = 1;
        System.out.println(Integer.toBinaryString(j));
        j>>>=10;
        System.out.println(Integer.toBinaryString(j));
    }
    

    }[/code]
    输出结果:
    11111111111111111111111111111111
    1111111111111111111111
    1
    0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?