|
|
(C++20) | ||||
(C++23) | ||||
Integral powers of2 | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
Rotating | ||||
(C++20) | ||||
(C++20) | ||||
Counting | ||||
(C++20) | ||||
countl_one (C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
Endian | ||||
(C++20) |
Defined in header <bit> | ||
template<class T> constexprint countl_one( T x)noexcept; | (since C++20) | |
Returns the number of consecutive1 (“one”) 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 consecutive1 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,0b01111111,0b11100011})std::cout<<"countl_one( "<<std::bitset<8>(i)<<" ) = "<< std::countl_one(i)<<'\n';}
Output:
countl_one( 00000000 ) = 0countl_one( 11111111 ) = 8countl_one( 01111111 ) = 0countl_one( 11100011 ) = 3
(C++20) | counts the number of consecutive0 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] |
(C++20) | checks if a number is an integral power of2 (function template)[edit] |
returns the number of bits set totrue (public member function of std::bitset<N> )[edit] | |
checks if all, any or none of the bits are set totrue (public member function of std::bitset<N> )[edit] |