Shl/ru
From Lazarus wiki
Revision as of 22:17, 14 January 2018 by Useroflazarus (talk | contribs) (Created page with " {{Shl}} <br> <br> == Обзор == '''Sh'''ift '''l'''eft ('''shl''') выполняет операцию битового сдвига влево, сдвигая значе...")
│
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) .