Bit array: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Struttura dati binaria Etichette: Modifica visuale Edit Check (citazioni) attivato Edit Check (references) declined (uncertain) |
Gce (discussione | contributi) - Voci senza uscita |
||
(17 versioni intermedie di 3 utenti 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]],
== Struttura e rappresentazione ==
Un bit array è tipicamente implementato
In alcune implementazioni, i bit array sono rappresentati come array di interi, in cui ciascun intero
== Operazioni comuni ==
Le operazioni più comuni su un bit array includono:
*
*
*
* Complemento (''Toggle'
*
=== Esempio di operazioni ===
Considerando il bit array "11110000", dove il bit meno significativo ha indice "0" e quello più significativo ha indice "7", le operazioni descritte sopra determinano questo risultato:
* Set(bit 0): "11110000" diventa "11110001"
* Clear(bit 7): "11110000" diventa "01110000"
* Test(bit 6): ritorna come risultato "1"
* Toggle applicato all'intero bit array: "11110000" diventa "00001111"
Esempi di operazioni ''bitwise'':
dati i due bit array "01010101" e "00001111", le operazioni ''bitwise'' ritornano i seguenti risultati:
* 01010101 AND 00001111 = 00000101
* 01010101 OR 00001111 = 01011111
* 01010101 XOR 00001111 = 01011010
== Utilizzo ==
=== 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 ===
Line 31 ⟶ 42:
== Esempi di utilizzo ==
*
*
*
== Implementazioni nei linguaggi di programmazione ==
Molti linguaggi di programmazione offrono librerie o strutture dati integrate per lavorare con i bit array. Ad esempio:
*
*
*
== Vantaggi ==
*
*
*
== Svantaggi ==
*
*
{{Portale|Informatica}}
[[Categoria:Informatica]]
|