Пространства имён
Варианты
Действия

std::bitset<N>::count

Материал из cppreference.com
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
std::bitset
Типы элементы
Функции-элементы
Доступ к элементам
Ёмкость
Модификаторы
Преобразования
Функции, не являющиеся элементами
Вспомогательные классы
(C++11)
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
std::size_t count() const;
(до C++11)
std::size_t count() const noexcept;
(начиная с C++11)
(constexpr начиная с C++23)

Возвращает количество битов, которые установлены в true.

Параметры

(нет)

Возвращаемое значение

количество битов, которые установлены в true.

Пример

#include <iostream>
#include <bitset>

int main()
{
    std::bitset<8> b("00010010");
    std::cout << "первоначальное значение: " << b << '\n';

    // ищем первый сброшенный бит
    size_t idx = 0;
    while (idx < b.size() && b.test(idx)) ++idx;

    // продолжаем устанавливать биты, пока не будет заполнена половина набора битов
    while (idx < b.size() && b.count() < b.size()/2) {
        b.set(idx);
        std::cout << "устанавливаем бит" << idx << ": " << b << '\n';
        while (idx < b.size() && b.test(idx)) ++idx;
    }

}

Вывод:

первоначальное значение: 00010010
устанавливаем бит 0: 00010011
устанавливаем бит 2: 00010111

Смотрите также

возвращает количество битов, которые содержит набор битов
(public функция-элемент) [править]
(C++20)
подсчитывает количество единичных битов в беззнаковом целом числе
(шаблон функции) [править]