Shl

From Lazarus wiki
Revision as of 12:50, 26 February 2020 by Trev (talk | contribs) (Added back page link)
Jump to navigationJump to search

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


Back to Reserved words.

Overview

The reserved word Shift left (shl) performs a left bit-shift operation, shifting the value byt the amount of bits specified as an argument (opposite of shr).

Example:

Command is: 00000100 shl 2 (shift left 2 bits)
 
Action is:  00000100 <- 00 (00 gets added to the right of the value; left 00 "disappears")
 
Result is:  00010000

Clear a bit

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

If you call ClearBit(%1111,1), then you get %1101 (The binary number %1111 is 15 and %1101 = 13).

If you call ClearBit(13,2), then you get 9 (9 = %1001) .

See also