Разделы инструкций

В сети

Пользователей: 139
Из них просматривают:
Аналоги: 48. Даташиты: 48. Инструкции: 2. Новости: 13. Остальное: 4. Ошибки: 2. Производители: 1. Профиль пользователя: 2. Расчёты: 1. Форум: 16. Чат: 2.
Участников: 5
Гостей: 134

an , Google , grom , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

>> (побитовый сдвиг вправо)

Описание
Оператор сдвига вправо >> заставляет биты левого операнда сдвигаться вправо на количество позиций, указанных правым операндом.

Синтаксис
переменная >> количество_бит;

Параметры
переменная: допустимые типы данных: byte, int, long.

количество_бит - целое число

 
Пример

int a = 40; // двоичный: 0000000000101000
int b = a >> 3; // двоичный: 0000000000000101, или 5 в десятичной

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

int x = -16; // двоичный: 1111111111110000
int y = 3;
int result = x >> y; // двоичный: 1111111111111110

 
Такое поведение, называемое расширением знака, часто не соответствует желаемому. Вместо этого вы можете захотеть сместить нули слева. Оказывается, что правильные правила сдвига отличаются для выражений типа unsigned int, поэтому вы можете использовать приведение типов для подавления копий, копируемых слева:
 

int x = -16; // двоичный: 1111111111110000
int y = 3;
int result = (unsigned int)x >> y; // двоичный: 0001111111111110

 
Если с осторожностью, чтобы избежать расширения знака, вы можете использовать оператор сдвига вправо >> как способ деления на степени 2. Например:
 

int x = 1000;
int y = x >> 3; // целочисленное деление 1000 на 8, результат у = 125.

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Пайка алюминия и его сплавов.

Интересно

Не давайте детям играть с ПДУ при работающем телевизоре.

Похожие инструкции