Я рассмотрел этот вопрос, чтобы понять, почему в большинстве языков, включая Java, нет арифметического оператора сдвига влево. Но как нам поступить с отрицательными целыми числами, потому что сдвиг влево приведет к их отмене? Возьмем, к примеру, -2^5, где результат должен быть отрицательным.
Подробнее здесь: https://stackoverflow.com/questions/120 ... serve-sign