java移位运算符困惑解决办法

java移位运算符困惑private static final long WORD_MASK 0xffffffffffffffffLpublic static void main

java移位运算符困惑


private static final long WORD_MASK = 0xffffffffffffffffL;
    public static void main(String[] args) {
        int toIndex=70;
        long lastWordMask  = WORD_MASK >>> -toIndex;
        System.out.println(lastWordMask);
    }

为什么输出结果为63而将无符号右移改为>>结果为-1
[解决办法]
http://www.ticmy.com/?p=46