Hvad er en boolsk array?
Et boolskt array i computerprogrammering er en række af værdier, der kun kan indeholde værdierne for sandt eller falskt. Per definition kan en boolsk kun være sand eller falsk og er ikke i stand til at have nogen anden mellemværdi. En matrix er en sekvens af datatyper, der optager numeriske positioner i et lineært hukommelsesrum. Mens den faktiske implementering af et boolskt array ofte overlades til kompilator- eller computersprogbibliotekerne, gøres det mest effektivt ved at bruge bits i stedet for komplette byte eller ord. Der er adskillige anvendelser til en boolsk array, herunder at holde styr på ejendomsflagg og justere indstillinger for fysiske hardwareflader.
Ideen om et boolesk array stammer fra originale metoder, der blev brugt til at gemme information på computere, hvor der var meget lidt tilgængelig hukommelse. Den første implementering af en boolsk array havde form af en bit matrix. Dette brugte større datatyper såsom bytes eller lange heltal til at opbevare information ved at indstille bitene af datatypen til sand eller falsk. På denne måde kan en enkelt byte, der er otte bit lang, indeholde otte forskellige sande eller falske værdier, hvilket sparer plads og giver mulighed for effektive bitvise operationer.
Efterhånden som computerhukommelsens størrelse steg, faldt behovet for at bruge bitarrays. Selvom brug af bits giver mulighed for bitskift og brug af logiske operatører, der tillader utrolig hurtig behandling, kræver det også brugerdefineret kode for at håndtere disse typer operationer. Brug af en standard array-struktur til at rumme en sekvens af bytes er en enklere løsning, men det kræver meget mere hukommelse under programudførelse. Dette kan ses, når du opretter en matrix med 32 boolske værdier. Med en bit array optager data kun fire bytes hukommelse, men en array af boolsk type besætter muligvis overalt fra 32 til 128 bytes, afhængigt af systemimplementeringen.
Nogle computerprogrammeringssprog implementerer faktisk en bit array, når der anvendes en boolsk array-type, selvom dette ikke er almindeligt. Et boolskt array har fordelen ved at være meget let at læse, når du ser kildekoden. Sammenligninger og opgaver præsenteres klart, medens de logiske operatører "og", "eller" og "ikke" skal bruges, og som muligvis skaber forvirrende kode.
På trods af brugervenligheden er en funktion, der ikke kan bruges med en boolsk array, en bitmaske. En bitmaske er en enkelt byte eller større datatype, der indeholder en sekvens af sande og falske værdier, der vedrører flere forhold. I en enkelt operation kan flere bits kontrolleres for deres sande eller falske tilstande, på én gang. Med en heltalbaseret matrix af booleske værdier, ville den samme operation skulle udføres med en løkke.