Shl

From Lazarus wiki
Revision as of 10:35, 15 October 2014 by BigChimp (talk | contribs) (clarify number of bits)
Jump to navigationJump to search

Template:shl

Overview

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

E.g

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 (%1111 = 15 and %1101 = 13).

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

See also