std::bitset<N>::count
Материал из cppreference.com
<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) |
подсчитывает количество единичных битов в беззнаковом целом числе (шаблон функции) |