Java中的按位移位运算符:语法错误“=>>”?

时间:2011-12-27 03:51:25

标签: java bitwise-operators

我正在编写一些代码来计算整数的2的补码格式中出现的1的数量。但是,当我在java中使用按位移位运算符时,我收到语法错误:

class suan {
    int bitCount(int inputInt) {
       if (inputInt == 0)
           return 0;
       else if (inputInt > 0) {
           int c = 0;
           int origin = inputInt;
           for (int i=0; i<32; i++) {
               inputInt=>>1;
               if (origin == inputInt*2)
                   c++;
               origin = inputInt;
           }
           return c;
       } else {   
           return 32-bitCount(-1*inputInt-1);
       }        
    }    
}

Eclipse说“inputInt =&gt;&gt; 1”在令牌上有“语法错误”&gt;&gt;“,删除此令牌。”但是我看不出它有什么问题。我以前没有在Java中使用按位运算符,所以我可能忽略了一些愚蠢的错误。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

inputInt=>>1;应为inputInt >>= 1;