Difference between revisions of "Shl/ru"
From Lazarus wiki
Jump to navigationJump to search (Created page with " {{Shl}} <br> <br> == Обзор == '''Sh'''ift '''l'''eft ('''shl''') выполняет операцию битового сдвига влево, сдвигая значе...") |
|||
Line 29: | Line 29: | ||
* [[And/ru|And]] | * [[And/ru|And]] | ||
* [[Not/ru|Not]] | * [[Not/ru|Not]] | ||
− | * [[Or/ru# | + | * [[Or/ru#Установка_бита|Установка бита]] |
− | * [[Xor/ru# | + | * [[Xor/ru#Переключение_битов|Переключение битов]] |
* [[Shr/ru|Shr]] | * [[Shr/ru|Shr]] | ||
* [[Bit manipulation/ru|Bit manipulation]] | * [[Bit manipulation/ru|Bit manipulation]] | ||
[[Category:Pascal/ru]] | [[Category:Pascal/ru]] |
Revision as of 11:12, 21 January 2018
│
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) .