Bit array: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
-sezione Note (al momento vuota), +Voci senza uscita |
Gce (discussione | contributi) - Voci senza uscita |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 1:
{{F|informatica|febbraio 2025}}
Un '''bit array''' (chiamato anche '''bitset''' o '''bit vector''') è una struttura dati che memorizza una sequenza binaria di [[bit]], in cui ogni bit rappresenta una variabile indipendente. Questa struttura è molto utilizzata in [[informatica]] per rappresentare in modo compatto insiemi di dati in cui ogni elemento può assumere solo un valore binario.
== Struttura e rappresentazione ==
Un bit array è tipicamente implementato riservando una quantità di memoria, espressa in bit, di dimensione pari alla dimensione dell'[[array]]: ad esempio, un bit array di lunghezza 8 (contenente 8 bit) occuperà un byte di memoria.
In alcune implementazioni, i bit array sono rappresentati come array di interi, in cui ciascun intero codifica una porzione di bit array. Ogni bit di un intero è utilizzato per rappresentare un valore binario, e l'accesso a un singolo bit viene effettuato tramite operazioni bitwise.
Riga 14:
* Controllo (''Test''): verifica il valore di un determinato bit, se 1 o 0.
* Complemento (''Toggle'') o negazione (NOT): inverte il valore di un determinato bit.
* Operazioni su base bit (''bitwise''): operazioni [[Booleano (informatica)|booleane]] AND, OR, XOR che vengono applicate a bit a bit tra due o più bit array.
=== Esempio di operazioni ===
Riga 32:
=== Rappresentazione di insiemi ===
Un uso comune dei bit array è nella rappresentazione di insiemi, dove ogni bit corrisponde a un elemento dell'[[insieme]]. Un bit impostato a 1 indica che l'elemento è presente nell'insieme, mentre un bit impostato a 0 indica che l'elemento non è presente.
=== Algoritmi e ottimizzazione della memoria ===
Riga 43:
* Banchi di memoria: I bit array sono utilizzati nei banchi di memoria per gestire e rappresentare lo stato di ciascun blocco di memoria.
* Filtri di Bloom: I bit array sono utilizzati come parte fondamentale dell'implementazione dei [[filtri di Bloom]], una struttura dati probabilistica per la rappresentazione di insiemi di elementi con il rischio di falsi positivi.
* Compressione di dati: Strutture come i bit array sono fondamentali in alcuni [[algoritmi di compressione]], dove è essenziale manipolare i dati a livello di bit per ridurre la dimensione dei file.
== Implementazioni nei linguaggi di programmazione ==
Riga 67:
[[Categoria:Informatica]]
|