Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

Shr/ru

Deutsch · English · Français · Русский

Обзор

Shift right (shr) выполняет операцию битового сдвига вправо (противоположное действие shl).

Shr со знаковыми типами

Примечание: в отличие от оператора >> в языке C, оператор shr является логическим (не арифметическим) оператором сдвига, даже если левый операнд является знаковым целым числом. Неявное приведение типов и расширение до большего беззнакового типа может быть выполнено до операции сдвига. Проверьте, что в действительности напечатает следующая программа.

pascal
program ShrTest;
begin
  WriteLn(ShortInt(-3) shr 1);
end.

Проверить установлен ли бит

pascal
function isBitSet(AValue, ABitNumber:integer):boolean;
begin
   result:=odd(AValue shr ABitNumber);
end;

См. также


From the Free Pascal wiki, page "Shr/ru", as it stood on 2020-02-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Версия 1, последнее изменение: WikiArchive, .