Vad är en boolesk array?

En boolesisk matris i datorprogrammering är en sekvens av värden som endast kan hålla värdena för sant eller falskt. Per definition kan en boolean endast vara sant eller falskt och kan inte ha något annat mellanvärde. En matris är en sekvens av datatyper som upptar numeriska positioner i ett linjärt minnesutrymme. Medan den faktiska implementeringen av en boolesisk matris ofta lämnas till kompilator- eller datorspråkbibliotek, görs det mest effektivt genom att använda bitar istället för kompletta byte eller ord. Det finns flera användningsområden för en boolesisk matris, inklusive att hålla reda på egendomens flaggor och justera inställningarna för fysiska hårdvarugränssnitt.

Idén om en boolesisk matris kommer från ursprungliga metoder som användes för att lagra information på datorer där det fanns mycket lite tillgängligt minne. Den första implementeringen av en boolesisk matris tog formen av en bitarray. Detta använde större datatyper som byte eller långa heltal för att hålla information genom att ställa in bitarna av datatypen till sann eller falsk. På detta sätt kan en enda byte som är åtta bitar lång innehålla åtta olika sanna eller falska värden, vilket sparar utrymme och möjliggör effektiv bitvis operation.

När datorminnets storlek ökade minskade behovet av att använda bitarrayer. Även om användning av bitar erbjuder möjligheten för bitskiftning och använda logiska operatörer som tillåter otroligt snabb bearbetning kräver det också anpassad kod för att hantera dessa typer av operationer. Att använda en standardmatrisstruktur för att hålla en sekvens av byte är en enklare lösning, men det tar mycket mer minne under programkörning. Detta kan ses när du skapar en matris med 32 booleska värden. Med en bituppsättning kommer uppgifterna bara att innehålla fyra byte minne, men en matris av boolesk typ kan uppta var som helst från 32 till 128 byte, beroende på systemimplementeringen.

Vissa datorprogrammeringsspråk implementerar faktiskt en bitmatris när en boolesk array-typ används, även om detta inte är vanligt. En boolesisk matris har fördelen att den är väldigt lätt att läsa när du tittar på källkod. Jämförelser och uppdrag presenteras tydligt, medan de logiska operatörerna "och", "eller" och "inte" måste användas med en liten grupp, vilket kan skapa förvirrande kod.

Trots användarvänligheten är en funktion som inte kan användas med en boolesisk matris en bitmask. En bitmask är en enstaka byte eller större datatyp som innehåller en sekvens av sanna och falska värden relaterade till flera villkor. I en enda operation kan flera bitar kontrolleras för deras sanna eller falska tillstånd, samtidigt. Med en heltalbaserad matris med booleska värden, måste samma operation utföras med en slinga.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?