Hva er en boolsk array?
Et boolskt utvalg i programmering av datamaskiner er en sekvens av verdier som bare kan inneholde verdiene til sant eller usant. Per definisjon kan en boolsk bare være sann eller usann og kan ikke inneha noen annen formidlingsverdi. En matrise er en sekvens av datatyper som inntar numeriske posisjoner i et lineært minneområde. Selv om den faktiske implementeringen av et boolskt utvalg ofte overlates til kompilator- eller dataspråkbibliotekene, gjøres det mest effektivt ved å bruke biter i stedet for komplette byte eller ord. Det er flere bruksområder for et boolskt utvalg, inkludert å holde oversikt over eiendomsflagg og justere innstillinger for fysiske maskinvaregrensesnitt.
Ideen om et boolskt utvalg stammer fra originale metoder som ble brukt til å lagre informasjon på datamaskiner der det var veldig lite tilgjengelig minne. Den første implementeringen av en boolsk array tok form av en bit matrise. Denne brukte større datatyper som byte eller lange tall for å holde informasjon ved å sette bitene av datatypen til sann eller usann. På denne måten kan en enkelt byte som er åtte bits lang, inneholde åtte forskjellige sanne eller falske verdier, og dermed spare plass og gi mulighet for effektive bitvise operasjoner.
Etter hvert som datamaskinens minne økte, reduserte behovet for å bruke bitmatriser. Selv om bruk av biter gir muligheten for bitskifting og bruk av logiske operatører som tillater utrolig rask behandling, krever det også tilpasset kode for å håndtere denne typen operasjoner. Å bruke en standard array-struktur for å holde en sekvens med byte er en enklere løsning, men det tar mye mer minne under programutførelsen. Dette kan sees når du oppretter en rekke 32 boolske verdier. Med en bitmatrise vil dataene bare inneholde fire byte minne, men en array av boolsk type kan oppta hvor som helst fra 32 til 128 byte, avhengig av systemgjennomføringen.
Noen programmeringsspråk for datamaskiner implementerer faktisk et lite utvalg når en boolsk array-type brukes, selv om dette ikke er vanlig. Et boolskt utvalg har fordelen av å være veldig lett å lese når du ser på kildekoden. Sammenligninger og oppgaver presenteres tydelig, mens de logiske operatørene "og", "eller" og "ikke" med litt utvalg må brukes, noe som potensielt kan skape forvirrende kode.
Til tross for brukervennligheten, er en funksjon som ikke kan brukes med en boolsk matrise, en bitmaske. En bitmaske er en enkelt byte eller større datatype som inneholder en sekvens av sanne og falske verdier relatert til flere forhold. I en enkelt operasjon kan flere biter sjekkes for deres sanne eller falske tilstander, på en gang. Med et heltallbasert utvalg av boolske verdier, må den samme operasjonen utføres med en sløyfe.