|
|
(C++20) | ||||
(C++23) | ||||
Integral powers of2 | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
Rotating | ||||
(C++20) | ||||
(C++20) | ||||
Counting | ||||
countl_zero (C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
Endian | ||||
(C++20) |
Defined in header <bit> | ||
template<class T> constexprint countl_zero( T x)noexcept; | (since C++20) | |
Returns the number of consecutive0 bits in the value ofx, starting from the most significant bit (“left”).
This overload participates in overload resolution only ifT
is an unsigned integer type (that is,unsignedchar,unsignedshort,unsignedint,unsignedlong,unsignedlonglong, or an extended unsigned integer type).
Contents |
x | - | value of unsigned integer type |
The number of consecutive0 bits in the value ofx, starting from the most significant bit.
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_bitops | 201907L | (C++20) | Bit operations |
#include <bit>#include <bitset>#include <cstdint>#include <iostream> int main(){for(conststd::uint8_t i:{0,0b11111111,0b11110000,0b00011110})std::cout<<"countl_zero( "<<std::bitset<8>(i)<<" ) = "<< std::countl_zero(i)<<'\n';}
Output:
countl_zero( 00000000 ) = 8countl_zero( 11111111 ) = 0countl_zero( 11110000 ) = 0countl_zero( 00011110 ) = 3
(C++20) | counts the number of consecutive1 bits, starting from the most significant bit (function template)[edit] |
(C++20) | counts the number of consecutive0 bits, starting from the least significant bit (function template)[edit] |
(C++20) | counts the number of consecutive1 bits, starting from the least significant bit (function template)[edit] |
(C++20) | counts the number of1 bits in an unsigned integer (function template)[edit] |
checks if all, any or none of the bits are set totrue (public member function of std::bitset<N> )[edit] | |
C documentation forstdc_leading_zeros |