Побитовые Операторы сдвига
Побитовые операторы сдвига:
· Сдвит влево (<<)
· Сдвиг вправо (>>)
· Сдвиг вправо с заполнением нулями (>>>)
Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.
Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.
Сдвит влево (<<)
Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулямию
Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в дисятеричной системе 36.
Сдвиг вправо (>>)
Cдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.
Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в дисятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.
Сдвиг вправо с заполнением нулями (>>>)
Сдвиг вправо с заполнением нулями работает аналогично сдвигу влево, только в противоположном направлении.
Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в дисятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.
Дата добавления: 2015-09-14; просмотров: 850;