В Java <<
- это логический сдвиг влево.0 всегда добавляется как младший бит.
(Обратите внимание, что Java будет продвигать значение [байта], о котором идет речь, поэтому необходимо позаботиться о маскировании октет! В противном случае вы сохраните сдвинутые биты, которые могли бы включать «1».)
Однако статья в Википедии о Арифметическое смещение указывает, что арифметическое смещение влево может привести к ошибке переполнения:
... Обратите внимание, что арифметическое смещение влево может вызвать переполнение; этоЕдинственное отличие, которое отличается от логического сдвига влево.
(Это не , как в случае с Java, но только для того, чтобы иметь в виду.)
Счастливое кодирование