Shl/fi

From Lazarus wiki
Revision as of 11:03, 12 November 2016 by E-ric (talk | contribs)
Jump to navigationJump to search

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


Bittien siirto vasemmalle (SHL)

Shift left (shl) tekee bittien siirto operaation vasemmalle, Siirrettävä bittien määrä kerrotaan käskyn oikealla puolen. Päinvastainen toiminta on bittien siirto oikealle (Shr).

Esim.

komento: 00000100 shl 2 (siirrä kaksi bittiä vasemmalle)
 
toiminta:  00000100 <- 00 (Lisätään kaksi nollaa arvon oikealle puolelle; kaksi vasemmanpuoleista merkkiä katooa)
 
tulos on:  00010000

Nollaa bitti

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

Jos kutsut ClearBit(%1111,1), niin saat %1101 (Binäärinen %1111 on desimaalijärjestelmässä 15 ja vastaavasti kaksijärjestelmän %1101 on desimaalijärjestelmän 13).

Jos kutsut ClearBit(13,2), niin saat 9 (9 = %1001) .

Katso myös