Biblioteka C ++ - <bitset>
Wprowadzenie
Zestaw bitów reprezentuje sekwencję N bitów o stałym rozmiarze i przechowuje wartości 0 lub 1. Zero oznacza, że wartość jest fałszywa lub bit jest nieustawiony, a jeden oznacza, że wartość jest prawdą lub bit jest ustawiony. Klasa Bitset emuluje efektywną przestrzennie tablicę wartości logicznych, w której każdy element zajmuje tylko jeden bit.
Jak to emuluje tablicę, jej wskaźnik zaczyna również od 0 th pozycji. Dostęp do pojedynczego bitu z zestawu bitów można uzyskać za pomocą operatora indeksu dolnego. Na przykład, aby uzyskać dostęp do pierwszego elementu zestawu bitów foo, użyj foo [0] .
Klasa Bitset udostępnia konstruktory do tworzenia zestawu bitów zarówno z liczb całkowitych, jak i łańcuchów. Rozmiar z bitset jest stała w czasie kompilacji. STL udostępnia klasę vector <bool>, która zapewnia funkcję dynamicznej zmiany rozmiaru.
Definicja
Poniżej znajduje się definicja std :: bitset z pliku nagłówkowego <bitset>
template <size_t N> class bitset;
Parametry
N - Rozmiar zestawu bitów.
Typy członków
Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.
| Sr.No. | Typy członków | Definicja |
|---|---|---|
| 1 | odniesienie | Klasa proxy, która reprezentuje odniesienie do bitu. |
Funkcje z <bitset>
Poniżej znajduje się lista wszystkich metod z nagłówka <bitset>.
Konstruktorzy
| Sr.No. | Metoda i opis |
|---|---|
| 1 | bitset :: bitset () Konstruuje kontener zestawu bitów i inicjalizuje go zerem. |
| 2 | bitset :: bitset () Konstruuje kontener zestawu bitów i inicjalizuje go wartością bitową val . |
| 3 | bitset :: bitset () Konstruuje i inicjuje kontener zestawu bitów z obiektu ciągu C ++. |
| 4 | bitset :: bitset () Konstruuje i inicjuje kontener zestawu bitów z ciągu w stylu c. |
Klasa członkowska
| Sr.No. | Metoda i opis |
|---|---|
| 1 | bitset :: reference () Jest to klasa osadzona, która dostarcza wartość l, którą można zwrócić z std :: bitset :: operator [] . |
Operatory zbiorów bitów
| Sr.No. | Metoda i opis |
|---|---|
| 1 | zestaw bitów :: operator & = Wykonuje operację bitową AND na bieżącym obiekcie zestawu bitów. |
| 2 | zestaw bitów :: operator | = Wykonuje operację bitową OR na bieżącym obiekcie zestawu bitów. |
| 3 | zestaw bitów :: operator ^ = Wykonuje bitową operację XOR na bieżącym obiekcie zestawu bitów. |
| 4 | zestaw bitów :: operator << = Wykonuje bitową lewą operację SHIFT na bieżącym obiekcie zestawu bitów. |
| 5 | zestaw bitów :: operator >> = Wykonuje bitową prawą operację SHIFT na bieżącym obiekcie zestawu bitów. |
| 6 | zestaw bitów :: operator ~ Wykonuje operację bitową NIE na zestawie bitów. |
| 7 | zestaw bitów :: operator << Wykonuje bitową lewą operację SHIFT na zestawie bitów. |
| 8 | zestaw bitów :: operator >> Wykonuje bitową prawą operację SHIFT na zestawie bitów. |
| 9 | zestaw bitów :: operator == Sprawdź, czy dwa zestawy bitów są równe, czy nie. |
| 10 | zestaw bitów :: operator! = Sprawdź, czy dwa zestawy bitów są równe, czy nie. |
| 11 | zestaw bitów :: operator & Wykonuje operację bitową AND na zbiorze bitów. |
| 12 | zestaw bitów :: operator | Wykonuje operację bitową OR na zbiorze bitów. |
| 13 | zestaw bitów :: operator ^ Wykonuje bitową operację XOR na zestawie bitów. |
| 14 | zestaw bitów :: operator >> Wyodrębnia do N bitów z is i zapisuje w innym zestawie bitów x . |
| 15 | zestaw bitów :: operator >> Wstawia zestaw bitów x do strumienia znaków os . |
Funkcje składowe
| Sr.No. | Metoda i opis |
|---|---|
| 1 | bitset :: all () Sprawdza, czy wszystkie bity z zestawu bitów są ustawione, czy nie. |
| 2 | bitset :: any () Sprawdza, czy co najmniej jeden bit z zestawu bitów jest ustawiony, czy nie. |
| 3 | bitset :: count () Policz liczbę ustawionych bitów z zestawu bitów. |
| 4 | bitset :: flip () wszystkie bity Przełącza wszystkie bity z zestawu bitów. |
| 5 | bitset :: flip () pojedynczy bit Przełącza pojedynczy bit z zestawu bitów. |
| 6 | bitset :: none () Sprawdza, czy wszystkie bity są nieustawione, czy nie. |
| 7 | bitset :: operator [] wersja bool Zwraca wartość bitu na pozycji poz . |
| 8 | bitset :: operator [] wersja odniesienia Zwraca odniesienie do bitu w pozycji poz . |
| 9 | bitset :: reset () wszystkie bity Zresetuj wszystkie bity zestawu bitów do zera. |
| 10 | bitset :: reset () pojedynczy bit Zresetuj pojedynczy bit zestawu bitów do zera. |
| 11 | bitset :: set () wszystkie bity Ustaw wszystkie bity z zestawu bitów na jeden. |
| 12 | bitset :: set () pojedynczy bit Ustaw pojedynczy bit z zestawu bitów na jeden lub zero . |
| 13 | bitset :: size () Podaje rozmiar zestawu bitów. |
| 14 | bitset :: test () Sprawdza, czy N- ty bit jest ustawiony, czy nie. |
| 15 | bitset :: to_string () Konwertuje obiekt bitset na obiekt typu string. |
| 16 | zestaw bitów :: to_ullong () Konwertuj zestaw bitów na długi bez znaku. |
| 17 | zestaw bitów :: to_ulong () Konwertuj zestaw bitów na długość bez znaku. |
Funkcje niebędące członkami
| Sr.No. | Metoda i opis |
|---|---|
| 1 | bitset :: hash () Zwraca wartość skrótu na podstawie podanego zestawu bitów. |