Difference between revisions of "Shl/fi"
From Free Pascal wiki
Jump to navigationJump to searchm |
m (Fixed syntax highlighting) |
||
Line 1: | Line 1: | ||
{{Shl}} | {{Shl}} | ||
− | + | ||
− | |||
== Bittien siirto vasemmalle (SHL) == | == Bittien siirto vasemmalle (SHL) == | ||
Line 16: | Line 15: | ||
== Nollaa bitti == | == Nollaa bitti == | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
function ClearBit( const aValue, aBitNumber : integer ) : integer; | function ClearBit( const aValue, aBitNumber : integer ) : integer; | ||
begin | begin |
Latest revision as of 12:51, 26 February 2020
│
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) .