std::countr_one

Header: <bit>

Returns the number of consecutive 1 bits in the value of x, starting from the least significant bit (“right”).

# Declarations

template< class T >
constexpr int countr_one( T x ) noexcept;

(since C++20)

# Parameters

# Return value

The number of consecutive 1 bits in the value of x, starting from the least significant bit.

# Notes

Feature-test macro Value Std Feature __cpp_lib_bitops 201907L (C++20) Bit operations

# Example

#include <bit>
#include <bitset>
#include <cstdint>
#include <iostream>
 
int main()
{
    for (const std::uint8_t i : {0, 0b11111111, 0b11111110, 0b11100011})
        std::cout << "countr_one( " << std::bitset<8>(i) << " ) = "
                  << std::countr_one(i) << '\n';
}

# See also