Shl/ru

From Lazarus wiki
Jump to navigationJump to search

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

Обзор

Shift left (shl) выполняет операцию битового сдвига влево, сдвигая значение на количество бит, указанное в аргументе (противоположное действие shr).

Например

Команда: 00000100 shl 2 (сдвиг влево на 2 бита)
 
Действие:  00000100 <- 00 (00 добавляется справа к значению; слева 00 "теряется")
 
Результат:  00010000

Сбросить бит

function ClearBit( const aValue, aBitNumber : integer ) : integer;
begin
  result := aValue and not( 1 shl aBitNumber );
end;

Если вы вызовете ClearBit(%1111,1), то получите %1101 (двоичное число %1111 это 15, а %1101 = 13).

Если вызовете ClearBit(13,2), то получите 9 (9 = %1001) .

См. также