Интернет магазин китайских планшетных компьютеров



Компьютеры - Битовый сдвиг - Арифметический сдвиг

23 января 2011


Оглавление:
1. Битовый сдвиг
2. Арифметический сдвиг
3. Циклический сдвиг



Арифметический сдвиг влево
Арифметический сдвиг вправо

При этом сдвиге слово рассматривается не просто как группа битов, а как целое число в дополнительном коде. При сдвиге влево ведёт себя как логический сдвиг, при сдвиге вправо: уходящий бит уходит, не влияя на оставшиеся биты, а на место появившегося бита устанавливается бит, соответствующий знаку.

Пример работы операции сдвига:

Пусть у нас есть число 11111010b = −6.
Если сделать сдвиг влево на 1 бит, то получим число 11110100b = −12
Если сделать сдвиг вправо на 1 бит, то получим число 11111101b = −3

Легко заметить, что при арифметическом сдвиге сдвиг влево соответствует умножению на 2, а сдвиг вправо — делению на 2 с округлением к −∞. Например:

 1011 = −5          1111 = −1
>>a 1              >>a 1
 ----               ----
 1101 = −3          1111 = −1

Схемотехническая реализация операций сдвига очень проста. Именно поэтому эти операции рекомендуют использовать для операций умножения и деления целых чисел на числа, равные степени 2 — если, конечно, такое округление отрицательных чисел не мешает.



Просмотров: 4518


<<<