«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Операторы сдвига и побитовые сокращения присваиваний

Операторы сдвига и побитовые сокращения присваиваний

Опубликовано 5 ноября 2024 г.
Просматривать:111

1. Операторы битового сдвига

  • >>: Сдвиг вправо.
  • >>>: Беззнаковый сдвиг вправо (дополненный нулями).

2. Общий синтаксис операторов сдвига
value value >> num-bits: перемещает биты значения вправо, сохраняя знаковый бит.
value >>> num-bits: перемещает биты значения вправо, вставляя нули слева.

3. Левый сдвиг

  • Каждый сдвиг влево приводит к сдвигу всех битов значения на одну позицию влево.
  • Справа вставляется нулевой бит.
  • Эффект: Умножение значения на 2 в каждую смену.

4. Сдвиг вправо

  • Каждый сдвиг вправо перемещает все биты на одну позицию вправо.
  • Знаковый бит сохраняется: 0 для положительных значений и 1 для отрицательных значений.
  • Эффект: разделить значение на 2 для каждой смены с округлением в меньшую сторону.

5. Сдвиг вправо Нет знака (>>>)

  • Без сохранения знаковых битов; вставляет 0 слева.
  • Используется в битовых шаблонах, где значение рассматривается как число без знака.

6. Перемещение не вращательное

  • Смещенные биты теряются.
  • Сдвиг не позволяет восстановить сдвинутые биты.

Пример:
Левый и правый сдвиг
*ShiftDemo *

Осторожно при сдвиге байтов и коротких значений

  • Java автоматически преобразует byte и short в int при вычислении выражения.

Пример:

  • Переместить отрицательное значение байта вправо: при преобразовании в int старшие биты дополняются единицей.
  • При сдвиге вправо с заполнением нулями (>>>) это может вызвать проблемы, поскольку старшие 24 бита будут равны 1 до того, как начнут появляться нули.

Сокращенные присваивания с побитовыми операторами

  • Все побитовые бинарные операторы имеют сокращенную форму, которая сочетает в себе присваивание с побитовой операцией.

Пример

x = x ^ 127;
x ^= 127;

Os operadores de deslocamento e atribuições abreviadas bitwise

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/devsjavagirls/os-operadores-de-deslocamento-e-atribuicoes-abreviadas-bitwise-3nao?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3