Shl

kucia

shl - słowo kluczowe języka Delphi

Shl to operator logiczny: przesuwa bity w lewo, najstarszy zostaje usunięty a najmłodszy zastępiony zerem.

SHL 101101
011010

1011010 | usunięte 1 i dodane 0

Uwaga!

Jeżeli używamy dużej zmiennej (patrz przykład 1), większej od 255 to najstarszy bit nie zostanie usunięty, zostaną dodane tylko zera na miejsce młodych bitów, wszystkie inne zostaną przesunięte.

Można przesuwać wiele bitów:

var 
  B:byte
begin
  B shl 3; // przesuwa o 3 bity
end.

Przykład 1: (starsze bity nie usuwane, zmienna typu Integer)

 var
  I : Integer;
 begin
  I := 45;       // 45 (bin: 101101)
  I := I shl 3; // przesuwanie bitów o 3 w lewo
               // I będzie równe 360 (bin: 101101 000)
end.

Przykład 2: (starsze bity usuwane, zmienna typu Byte)

 var
  I:Byte;
 begin
  I := 45;       // 45 (bin: 10 1101)
  I := I shl 3; // 101101 shr 3
               // I będzie równe 104 (bin: 1101 000) 
end.

Zobacz też:

0 komentarzy