Bitmanipulation

Bitmanipulation

Husk på, at et heltal kan skrives i decimal, binær eller hexadecimal form:

13 (decimal) = 0b1101 = 0xd

> Funktionerne binString og hexString kan bruges til at få henholdsvis den binære og den hexadecimale repræsentation af et heltal.

Fordelen ved at kunne manipulere binære værdier er, at man kan optimere trin i hyppige beregninger eller hurtigt håndtere rækker af booleske værdier.

Hvad er et binært tal

Et binært tal kan repræsentere både et tal og et array af booleske værdier. Da heltal er på 64 bit, kan man repræsentere 64 booleske værdier i ét heltal. I det følgende regner vi med, at en bit sat til 1 svarer til værdien true, og en bit sat til 0 svarer til false.

Tilgængelige operatorer og funktioner

LeekScripts bitvise operatorer er:

Dedikerede funktioner gør det også lettere at arbejde bit for bit: testBit, setBit, bitCount, bitLength, trailingZeros og leadingZeros.

For at håndtere heltal på mere end 64 bit, se BigInteger.

Bitmasker

Bitmasker bruges til at hente værdien af enkelte bits eller grupper af bits i et tal.

Hent værdien af bitten på indeks N

For at hente værdien på indeks N:

Hent værdien af N på hinanden følgende bits

For at hente værdien af de N sidste bits:

Hvor 0b111...111 er et binært tal med N ettaller, altså svarende til 2**N-1.