Я пишу код для вычисления числа 1s, появившихся в формате дополнений 2 целого числа. Однако, когда я использую оператор побитового сдвига в Java, я получаю ошибку синтаксиса:Оператор побитового сдвига в 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 = >> 1» имеет «Ошибка синтаксиса на маркер„>>“, удалите этот маркер. », но я не вижу в этом ничего плохого. Я раньше не использовал побитовые операторы в Java, поэтому я мог бы забыть какую-то глупую ошибку. Спасибо за помощь.
Try '>> ='. Также как '+ =', а не '= +'. – mtrw
@mtrw yeah ... спасибо за быстрый ответ –