Библиотека C ++ - <bitset>

Введение

Битовый набор представляет собой последовательность из N битов фиксированного размера и хранит значения 0 или 1. Ноль означает, что значение ложно или бит не установлен, а один означает, что значение истинно или установлен бит. Класс Bitset имитирует компактный массив логических значений, где каждый элемент занимает только один бит.

Поскольку он имитирует массив, его индекс также начинается с 0- й позиции. Доступ к отдельным битам из битового набора можно получить с помощью оператора индекса. Например, для доступа к первому элементу битового набора foo используйте foo [0] .

Класс Bitset предоставляет конструкторы для создания битового набора как из целых чисел, так и из строк. Размер от BitSet фиксируется во время компиляции. STL предоставляет класс vector <bool>, который обеспечивает функциональность динамического изменения размера.

Определение

Ниже приведено определение std :: bitset из заголовочного файла <bitset>.

template <size_t N> class bitset;

Параметры

N - Размер битового набора.

Типы участников

Следующие типы членов могут использоваться как параметры или возвращаемый тип функциями-членами.

Sr. No. Типы участников Определение
1 Справка Прокси-класс, представляющий ссылку на бит.

Функции из <bitset>

Ниже приведен список всех методов из заголовка <bitset>.

Конструкторы

Sr. No. Метод и описание
1 bitset :: bitset ()

Создает контейнер битового набора и инициализирует его нулем.

2 bitset :: bitset ()

Создает контейнер битового набора и инициализирует его битовым значением val .

3 bitset :: bitset ()

Создает и инициализирует контейнер битового набора из строкового объекта C ++.

4 bitset :: bitset ()

Создает и инициализирует контейнер битового набора из строки c-стиля.

Класс члена

Sr. No. Метод и описание
1 битсет :: ссылка ()

Это встроенный класс, который предоставляет l-значение, которое может быть возвращено из std :: bitset :: operator [] .

Операторы битового набора

Sr. No. Метод и описание
1 битсет :: оператор & =

Выполняет побитовую операцию И для текущего объекта битового набора.

2 битсет :: оператор | =

Выполняет побитовую операцию ИЛИ для текущего объекта битового набора.

3 битсет :: оператор ^ =

Выполняет побитовую операцию XOR для текущего объекта битового набора.

4 битсет :: оператор << =

Выполняет побитовую операцию сдвига влево для текущего объекта битового набора.

5 битсет :: оператор >> =

Выполняет побитовую операцию SHIFT вправо для текущего объекта битового набора.

6 битсет :: оператор ~

Выполняет побитовую операцию НЕ над битовым набором.

7 bitset :: operator <<

Выполняет побитовую операцию сдвига влево над битовым набором.

8 битсет :: оператор >>

Выполняет побитовую операцию SHIFT вправо для битового набора.

9 битсет :: оператор ==

Проверьте, равны ли два набора битов.

10 битсет :: оператор! =

Проверьте, равны ли два набора битов.

11 bitset :: оператор &

Выполняет побитовую операцию И над битовым набором.

12 bitset :: оператор |

Выполняет побитовую операцию ИЛИ над битовым набором.

13 битсет :: оператор ^

Выполняет побитовую операцию XOR над битовым набором.

14 битсет :: оператор >>

Извлекает до N бит из is и сохраняет в другой битовый набор x .

15 битсет :: оператор >>

Вставляет битовый набор x в символьный поток os .

Функции-члены

Sr. No. Метод и описание
1 битсет :: все ()

Проверяет, установлены ли все биты из битового набора или нет.

2 битсет :: любой ()

Проверяет, установлен ли хотя бы один бит из битового набора.

3 bitset :: count ()

Подсчитать количество установленных битов из битового набора.

4 bitset :: flip () все биты

Переключает все биты из битового набора.

5 bitset :: flip () одиночный бит

Переключает одиночный бит из битового набора.

6 bitset :: none ()

Проверяет, сброшены ли все биты.

7 bitset :: operator [] версия bool

Возвращает значение бита в позиции pos .

8 bitset :: operator [] справочная версия

Возвращает ссылку на бит в позиции pos .

9 bitset :: reset () все биты

Сбросить все биты битового набора в ноль.

10 bitset :: reset () одиночный бит

Сбросить один бит битового набора в ноль.

11 bitset :: set () все биты

Установите все биты из битового набора в единицу.

12 bitset :: set () одиночный бит

Установите один бит из битового набора в единицу или ноль .

13 битсет :: размер ()

Сообщает размер битового набора.

14 bitset :: test ()

Проверяет, установлен ли N- й бит.

15 bitset :: to_string ()

Преобразует объект битового набора в строковый объект.

16 bitset :: to_ullong ()

Преобразование битового набора в unsigned long long.

17 bitset :: to_ulong ()

Преобразование битового набора в беззнаковый длинный.

Функции, не являющиеся членами

Sr. No. Метод и описание
1 bitset :: hash ()

Возвращает хеш-значение на основе предоставленного битового набора.