Shr
shr - słowo kluczowe języka Delphi
Shr to operator logiczny: przesuwa bity w prawo, najmłodszy zostaje usunięty a najstarszy zastępiony zerem.
SHR 101110
010111
Można przesuwać wiele bitów:
Operator shr można wykorzystywać do szybszej operacji dzielenia przez potęgi 2. Np kod:
wykonuje się dużo szybciej niż:
Zobacz też:
Shr to operator logiczny: przesuwa bity w prawo, najmłodszy zostaje usunięty a najstarszy zastępiony zerem.
SHR 101110
010111
Można przesuwać wiele bitów:
Operator shr można wykorzystywać do szybszej operacji dzielenia przez potęgi 2. Np kod:
var
B: Byte;
begin
B := 128; // 128 = 10000000
B := B shr 2; // przesuwa o 2 bity (po tej operacji B = 00100000 = 32)
end.
B: Byte;
begin
B := 128; // 128 = 10000000
B := B shr 2; // przesuwa o 2 bity (po tej operacji B = 00100000 = 32)
end.
wykonuje się dużo szybciej niż:
Zobacz też:
Pawel200x.5 dnia 08-07-2006 21:47
Jednak optymalizator Delphi zamienia div'a przez potęgi dwójki na shr (ba! nawet a*7 optymalizuje
) i nawet w sekcjach krytycznych korzystanie z tego operatora, dla zastąpienia div'a nie ma sensu, bo zmniejsza czytelność. Powinien być używany jedynie do operacji na bitach.
) i nawet w sekcjach krytycznych korzystanie z tego operatora, dla zastąpienia div'a nie ma sensu, bo zmniejsza czytelność. Powinien być używany jedynie do operacji na bitach.

