Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Macro générique stdc_has_single_bit (C23)

Entête à inclure

#include <stdbit.h>

Macro générique stdc_has_single_bit

stdc_has_single_bit( value )

La macro stdc_has_single_bit indique si la valeur contient exactement un seul bit à 1. Elle accepte les types entiers non signés pris en charge par <stdbit.h> et sélectionne la fonction spécialisée adaptée.

Cette macro permet de tester simplement si une valeur est une puissance de deux non nulle.

Paramètres

Valeur de retour

Cette macro retourne une valeur booléenne indiquant si la condition testée est vraie.

Fonctions spécialisées

Nom Prototype
stdc_has_single_bit_uc bool stdc_has_single_bit_uc( unsigned char value );
stdc_has_single_bit_us bool stdc_has_single_bit_us( unsigned short value );
stdc_has_single_bit_ui bool stdc_has_single_bit_ui( unsigned int value );
stdc_has_single_bit_ul bool stdc_has_single_bit_ul( unsigned long value );
stdc_has_single_bit_ull bool stdc_has_single_bit_ull( unsigned long long value );

Exemple de code

L'exemple suivant applique cette opération à une valeur simple.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
#include <stdbit.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    unsigned int value = 16u;

    printf( "%d\n", stdc_has_single_bit( value ) != 0 );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de stdc_has_single_bit

Cet exemple produit l'affichage suivant.

1

Sujets connexes

La librairie <stdbit.h>
macros d'endianness


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé