Sign in Join
Wiki copytemporary

Shr/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Shr/ru

OldNewLine
1+## Обзор
2+
3+**Sh**ift **r**ight (shr) выполняет операцию битового сдвига вправо (противоположное действие [[Shl/ru|shl]]).
4+
5+## Shr со знаковыми типами
6+
7+Примечание: в отличие от оператора **\>\>** в языке C, оператор shr является логическим (не арифметическим) оператором сдвига, даже если левый операнд является знаковым целым числом. Неявное приведение типов и расширение до большего беззнакового типа может быть выполнено до операции сдвига. Проверьте, что в действительности напечатает следующая программа.
8+
9+``` pascal
10+program ShrTest;
11+begin
12+ WriteLn(ShortInt(-3) shr 1);
13+end.
14+```
15+
16+## Проверить установлен ли бит
17+
18+``` pascal
19+function isBitSet(AValue, ABitNumber:integer):boolean;
20+begin
21+ result:=odd(AValue shr ABitNumber);
22+end;
23+```
24+
25+## См. также
26+
27+- [[And/ru|And]]
28+- [[Boolean/ru|Boolean]]
29+- [[Const/ru|Const]]
30+- [[Function/ru|Function]]
31+- [[Integer/ru|Integer]]
32+- [[Odd/ru|Odd]]
33+- [[Or/ru|Or]]
34+- [[Shl/ru|Shl]]
35+
36+---
37+*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](/wiki-contact).*

Back to history