Bittioperaatiot

Bittioperaatiot

Muistutuksena: kokonaisluku voidaan kirjoittaa desimaali-, binääri- tai heksadesimaalimuodossa:

13 (desimaali) = 0b1101 = 0xd

> Funktioilla binString ja hexString saa kokonaisluvun binääri- ja heksadesimaaliesityksen.

Binääriarvojen käsittelyn osaaminen on hyödyllistä, koska sen avulla voi optimoida usein toistuvien laskujen vaiheita tai käsitellä nopeasti sarjoja totuusarvoja.

Mikä on binääriluku

Binääriluku voi esittää samanaikaisesti sekä lukua että totuusarvojen taulukkoa. Koska kokonaisluvut ovat 64-bittisiä, yhteen kokonaislukuun voi tallentaa 64 totuusarvoa. Jatkossa katsotaan, että bitti 1 vastaa arvoa true ja bitti 0 arvoa false.

Käytettävissä olevat operaattorit ja funktiot

LeekScriptin bittioperaattorit ovat:

Myös erilliset funktiot helpottavat bittien käsittelyä: testBit, setBit, bitCount, bitLength, trailingZeros ja leadingZeros.

Yli 64-bittisten kokonaislukujen käsittelyyn katso BigInteger.

Bittimaskit

Bittimaskeja käytetään luvun yksittäisten bittien tai bittiryhmien arvon lukemiseen.

Bitin arvon lukeminen indeksistä N

Indeksissä N olevan arvon saa näin:

N peräkkäisen bitin arvon lukeminen

N viimeisen bitin arvon saa näin:

Tässä 0b111...111 on binääriluku, jossa on N kappaletta ykkösiä, eli se vastaa lukua 2**N-1.