Shl/ru

From Free Pascal wiki

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) .

См. также