Difference between revisions of "Shl/ru"
From Free Pascal wiki
Jump to navigationJump to searchm (Fixed syntax highlighting; deleted category included in page template) |
|||
Line 1: | Line 1: | ||
+ | {{Shl}} | ||
− | |||
− | |||
− | |||
== Обзор == | == Обзор == | ||
'''Sh'''ift '''l'''eft ('''shl''') выполняет операцию битового сдвига влево, сдвигая значение на количество бит, указанное в аргументе (противоположное действие [[Shr/ru|shr]]). | '''Sh'''ift '''l'''eft ('''shl''') выполняет операцию битового сдвига влево, сдвигая значение на количество бит, указанное в аргументе (противоположное действие [[Shr/ru|shr]]). | ||
Line 15: | Line 13: | ||
== Сбросить бит == | == Сбросить бит == | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
function ClearBit( const aValue, aBitNumber : integer ) : integer; | function ClearBit( const aValue, aBitNumber : integer ) : integer; | ||
begin | begin | ||
Line 33: | Line 31: | ||
* [[Shr/ru|Shr]] | * [[Shr/ru|Shr]] | ||
* [[Bit manipulation/ru|Bit manipulation]] | * [[Bit manipulation/ru|Bit manipulation]] | ||
− | |||
− |
Latest revision as of 12:52, 26 February 2020
│
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) .