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.