Namespaces
Variants

std:: countr_zero

From cppreference.net
Utilities library
Défini dans l'en-tête <bit>
template < class T >
constexpr int countr_zero ( T x ) noexcept ;
(depuis C++20)

Retourne le nombre de bits consécutifs 0 dans la valeur de x , en commençant par le bit le moins significatif (« droite »).

Cette surcharge participe à la résolution de surcharge uniquement si T est un type entier non signé (c'est-à-dire, unsigned char , unsigned short , unsigned int , unsigned long , unsigned long long , ou un type entier non signé étendu).

Table des matières

Paramètres

x - valeur de type entier non signé

Valeur de retour

Le nombre de bits consécutifs 0 dans la valeur de x , en commençant par le bit le moins significatif.

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_bitops 201907L (C++20) Opérations sur les bits

Exemple

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

Sortie :

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

Voir aussi

compte le nombre de bits 0 consécutifs, en commençant par le bit le plus significatif
(modèle de fonction)
(C++20)
compte le nombre de bits 1 consécutifs, en commençant par le bit le plus significatif
(modèle de fonction)
(C++20)
compte le nombre de bits 1 consécutifs, en commençant par le bit le moins significatif
(modèle de fonction)
(C++20)
compte le nombre de bits 1 dans un entier non signé
(modèle de fonction)
vérifie si tous, certains ou aucun des bits sont définis à true
(fonction membre publique de std::bitset<N> )