Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::countr_zero(3)	      C++ Standard Libary	   std::countr_zero(3)

NAME
       std::countr_zero	- std::countr_zero

Synopsis
	  Defined in header <bit>
	  template< class T >			      (since C++20)
	  constexpr int	countr_zero( T x ) noexcept;

	  Returns the number of	consecutive 0 bits in the value	of x, starting
       from the	least
	  significant bit ("right").

	  This	overload  participates	in overload resolution only if T is an
       unsigned	integer
	  type (that is, unsigned char,	unsigned short,	unsigned int, unsigned
       long, unsigned
	  long long, or	an extended unsigned integer type).

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: __cpp_lib_bitops

Example
       // Run this code

	#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';
	    }
	}

Output:
	countr_zero( 00000000 )	= 8
	countr_zero( 11111111 )	= 0
	countr_zero( 00011100 )	= 2
	countr_zero( 00011101 )	= 0

See also
	  countl_zero counts the number	of consecutive 0 bits,	starting  from
       the most
	  (C++20)     significant bit
		      (function	template)
	  countl_one   counts  the number of consecutive 1 bits, starting from
       the most
	  (C++20)     significant bit
		      (function	template)
	  countr_one  counts the number	of consecutive 1 bits,	starting  from
       the least
	  (C++20)     significant bit
		      (function	template)
	  popcount    counts the number	of 1 bits in an	unsigned integer
	  (C++20)     (function	template)
	  all
	  any	      checks if	all, any or none of the	bits are set to	true
	  none	      (public member function of std::bitset<N>)
	  (C++11)

http://cppreference.com		  2022.07.31		   std::countr_zero(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::countr_zero&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help