Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::popcount

      From cppreference.com
      <cpp‎ |numeric
       
       
      Utilities library
       
       
      Defined in header<bit>
      template<class T>
      constexprint popcount( T x)noexcept;
      (since C++20)

      Returns the number of1 bits in the value ofx.

      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

      [edit]Parameters

      x - value of unsigned integer type

      [edit]Return value

      The number of1 bits in the value ofx.

      [edit]Notes

      The namepopcount is a contraction for “population count”.

      Feature-test macroValueStdFeature
      __cpp_lib_bitops201907L(C++20)Bit operations

      [edit]Example

      Run this code
      #include <bit>#include <bitset>#include <cstdint>#include <iostream> static_assert(std::popcount(0xFULL)==4); int main(){for(conststd::uint8_t x:{0,0b00011101,0b11111111})std::cout<<"popcount( "<<std::bitset<8>(x)<<" ) = "<< std::popcount(x)<<'\n';}

      Output:

      popcount( 00000000 ) = 0popcount( 00011101 ) = 4popcount( 11111111 ) = 8

      [edit]See also

      counts the number of consecutive0 bits, starting from the most significant bit
      (function template)[edit]
      (C++20)
      counts the number of consecutive1 bits, starting from the most significant bit
      (function template)[edit]
      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]
      checks if a number is an integral power of2
      (function template)[edit]
      returns the number of bits set totrue
      (public member function ofstd::bitset<N>)[edit]
      checks if all, any or none of the bits are set totrue
      (public member function ofstd::bitset<N>)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/popcount&oldid=182057"

      [8]ページ先頭

      ©2009-2025 Movatter.jp