Üdvözlöm, Ön a
bit array szó jelentését keresi. A DICTIOUS-ban nem csak a
bit array szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
bit array szót egyes és többes számban mondani. Minden, amit a
bit array szóról tudni kell, itt található. A
bit array szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
bit array és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
bit array (tsz. bit arrays)
- (informatika) A bit array (magyarul: bittömb, bitvektor, vagy egyszerűen bitsorozat) egy olyan adatszerkezet, amelyben az adatok egymás után, bitenként vannak tárolva. Minden elem egyetlen bit, azaz 0 vagy 1 értéket vehet fel. Ez az adatszerkezet memóriahatékony megoldás nagy mennyiségű bináris adat tárolására.
Miért hasznos a bit array?
- Memóriatakarékosság: Egyetlen bitet használ minden elem tárolására, szemben egy normál bool típus által használt akár 1 byte-tal (8 bit). Így például 8 bool érték elfér 1 byte-ban.
- Gyors logikai műveletek: A bitekre közvetlenül alkalmazhatók bitműveletek (AND, OR, XOR, NOT), amelyek nagyon gyorsak.
- Alkalmazások:
- Halmazok reprezentálása (pl. elemek előfordulásának jelölése)
- Sziták (Eratosthenész szita)
- Bloom filterek
- Jogosultsági mátrixok
- Kompakt jelölések, indexelés
Hogyan működik?
Egy bit array általában egy vagy több egész szám (például int
, uint32_t
, uint64_t
) belső tömbként van megvalósítva, ahol minden bit egy-egy logikai állapotot reprezentál.
Példa:
- Ha van egy 32 bites
uint32_t
számunk, akkor egyetlen változó 32 darab bitnyi információt tárolhat.
- Az i-edik bithez való hozzáféréshez biteltolást és maszkolást használunk:
#include <cstdint>
// Példa: bit beállítása és lekérdezése egy 32 bites számban
uint32_t bits = 0; // minden bit 0
// i-edik bit beállítása 1-re
void setBit(uint32_t& bits, int i) {
bits |= (1u << i);
}
// i-edik bit lekérdezése (0 vagy 1)
bool getBit(uint32_t bits, int i) {
return (bits >> i) & 1u;
}
Bit array műveletek
- Beállítás (set): Egy adott bit értékének 1-re állítása.
- Törlés (clear): Egy adott bit értékének 0-ra állítása.
- Lekérdezés (get/test): Egy adott bit értékének lekérése.
- Toggle (invert): Egy bit értékének megfordítása.
- Bitműveletek: Több bit array egymáson végzett AND, OR, XOR, NOT műveletek.
Példák bit array alkalmazásra
- Eratosthenész szita: Nagy prímszámok keresése, ahol a számokat bitek reprezentálják (prím/nem prím).
- Bloom filter: Gyors halmazellenőrző adatstruktúra, amely hash függvények segítségével bit array-t kezel.
- Jogosultságok tárolása: Egy rendszerben egy-egy bit jelezhet egy adott jogosultságot.
- Képadatok: Bitmap képek pixeleinek tárolása.
Összefoglalás
Tulajdonság
|
Leírás
|
Tárolási egység
|
Egyetlen bit (0 vagy 1)
|
Memóriahatékonyság
|
Nagyon magas, 8x jobb mint a bool tömbök
|
Gyors műveletek
|
Bitműveletek (AND, OR, XOR, NOT)
|
Használati területek
|
Szita, bloom filter, jogosultság, bitmap
|