Libreria C ++ - <bitset>

introduzione

Bitset rappresenta una sequenza di dimensioni fisse di N bit e memorizza i valori 0 o 1. Zero significa che il valore è falso o il bit non è impostato e uno significa che il valore è vero o il bit è impostato. La classe Bitset emula un array efficiente in termini di spazio di valori booleani, in cui ogni elemento occupa solo un bit.

Come emula matrice, il suo indice inizia anche da 0 ° posizione. È possibile accedere ai singoli bit del set di bit utilizzando l'operatore pedice. Ad esempio, per accedere al primo elemento del set di bit pippo, utilizzare pippo [0] .

La classe Bitset fornisce costruttori per creare set di bit da numeri interi e stringhe. La dimensione del set di bit è fissata in fase di compilazione. STL fornisce la classe vettoriale <bool> che fornisce funzionalità di ridimensionamento dinamico.

Definizione

Di seguito è riportata la definizione di std :: bitset dal file di intestazione <bitset>

template <size_t N> class bitset;

Parametri

N - Dimensione del bitset.

Tipi di membri

I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.

Sr.No. Tipi di membri Definizione
1 riferimento Classe proxy che rappresenta un riferimento a un bit.

Funzioni da <bitset>

Di seguito è riportato un elenco di tutti i metodi dall'intestazione <bitset>.

Costruttori

Sr.No. Metodo e descrizione
1 bitset :: bitset ()

Costruisce il contenitore del set di bit e lo inizializza con zero.

2 bitset :: bitset ()

Costruisce il contenitore del set di bit e lo inizializza con il valore del bit di val .

3 bitset :: bitset ()

Costruisce e inizializza un contenitore di set di bit da un oggetto stringa C ++.

4 bitset :: bitset ()

Costruisce e inizializza un contenitore di set di bit da una stringa in stile C.

Classe dei membri

Sr.No. Metodo e descrizione
1 bitset :: riferimento ()

Questa è una classe incorporata che fornisce un valore l che può essere restituito da std :: bitset :: operator [] .

Operatori di set di bit

Sr.No. Metodo e descrizione
1 bitset :: operator & =

Esegue un'operazione AND bit per bit sull'oggetto bitset corrente.

2 bitset :: operator | =

Esegue un'operazione OR bit per bit sull'oggetto bitset corrente.

3 bitset :: operator ^ =

Esegue un'operazione XOR bit per bit sull'oggetto bitset corrente.

4 bitset :: operator << =

Esegue l'operazione SHIFT sinistra bit per bit sull'oggetto bitset corrente.

5 bitset :: operator >> =

Esegue l'operazione SHIFT bit per bit a destra sull'oggetto bitset corrente.

6 bitset :: operator ~

Esegue un'operazione NOT bit per bit sul set di bit.

7 bitset :: operator <<

Esegue l'operazione SHIFT sinistra bit per bit sul set di bit.

8 bitset :: operator >>

Esegue l'operazione SHIFT a destra bit per bit sul set di bit.

9 bitset :: operator ==

Verifica se due set di bit sono uguali o meno.

10 bitset :: operator! =

Verifica se due set di bit sono uguali o meno.

11 bitset :: operator &

Esegue un'operazione AND bit per bit sul set di bit.

12 bitset :: operatore |

Esegue un'operazione OR bit per bit sul set di bit.

13 bitset :: operator ^

Esegue un'operazione XOR bit per bit su bitset.

14 bitset :: operator >>

Estrae fino a N bit da is e memorizza in un altro bitset x .

15 bitset :: operator >>

Inserti bitset x al flusso di caratteri os .

Funzioni dei membri

Sr.No. Metodo e descrizione
1 bitset :: all ()

Verifica se tutti i bit del set di bit sono impostati o meno.

2 bitset :: any ()

Verifica se è impostato o meno almeno un bit del set di bit.

3 bitset :: count ()

Contare il numero di bit impostati dal set di bit.

4 bitset :: flip () tutti i bit

Commuta tutti i bit dal set di bit.

5 bitset :: flip () bit singolo

Alterna bit singolo dal set di bit.

6 bitset :: nessuno ()

Verifica se tutti i bit non sono impostati o meno.

7 bitset :: operator [] bool version

Restituisce il valore del bit alla posizione pos .

8 bitset :: operator [] versione di riferimento

Restituisce il riferimento del bit alla posizione pos .

9 bitset :: reset () tutti i bit

Ripristina tutti i bit del set di bit a zero.

10 bitset :: reset () bit singolo

Reimposta un singolo bit del set di bit a zero.

11 bitset :: set () tutti i bit

Imposta tutti i bit da bitset a uno.

12 bitset :: set () bit singolo

Imposta il bit singolo del set di bit su uno o zero .

13 bitset :: size ()

Riporta la dimensione del set di bit.

14 bitset :: test ()

Verifica se l'N- esimo bit è impostato o meno.

15 bitset :: to_string ()

Converte un oggetto bitset in un oggetto stringa.

16 bitset :: to_ullong ()

Converti set di bit in unsigned long long.

17 bitset :: to_ulong ()

Converti set di bit in lungo senza segno.

Funzioni non membro

Sr.No. Metodo e descrizione
1 bitset :: hash ()

Restituisce il valore hash in base al set di bit fornito.