std::countr_zero
Min standard notice:
Header: <bit>
Returns the number of consecutive 0 bits in the value of x, starting from the least significant bit (“right”).
# Declarations
template< class T >
constexpr int countr_zero( T x ) noexcept;
(since C++20)
# Parameters
x: value of unsigned integer type
# Return value
The number of consecutive 0 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, 0b00011100, 0b00011101})
std::cout << "countr_zero( " << std::bitset<8>(i) << " ) = "
<< std::countr_zero(i) << '\n';
}