std::bitset::test

From cppreference.com
bool test( size_t pos ) const;

Returns the value of the bit at the position pos.

Unlike operator[](), performs a bounds check and throws std::out_of_range if pos does not correspond to a valid position in the bitset.

Contents

[edit] Parameters

pos - position of the bit to return

[edit] Return value

true if the requested bit is set, false otherwise.

[edit] Exceptions

std::out_of_range if pos does not correspond to a valid position within the bitset.

[edit] Example

#include <iostream>
#include <bitset>
 
int main() 
{
    std::bitset<10> b1("1111010000");
 
    size_t idx = 0;
    while (idx < b1.size() && !b1.test(idx)) {
      ++idx;
    }
 
    if (idx < b1.size()) {
        std::cout << "lowest set bit at index " << idx << '\n';
    } else {
        std::cout << "no set bits\n";
    }
}

Output:

first set bit at index 4

[edit] See also

accesses specific bit
(public member function)