Shr/ru

From Free Pascal wiki
Revision as of 22:49, 14 January 2018 by Useroflazarus (talk | contribs) (Created page with " {{Shr}} == Обзор == '''Sh'''ift '''r'''ight (shr) выполняет операцию битового сдвига вправо (противоположное дейс...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) русский (ru)

Обзор

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

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

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

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

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

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

См. также