Accès rapide :
Présentation de l'entête <stdbit.h>
Entête à inclure
Exemple d'utilisation
Eléments fournis par la librairie <stdbit.h>
La librairie <stdbit.h>, introduite avec C23, regroupe des utilitaires pour analyser et manipuler
les bits des entiers non signés. Elle évite de réécrire à la main des opérations classiques comme le comptage de bits,
la recherche du premier bit positionné ou l'arrondi à une puissance de deux.
POSIX n'ajoute pas d'élément propre à cette librairie. Les fonctions et macros présentées ici relèvent du standard C ISO.
#include <stdbit.h>
L'exemple suivant compte les bits à 1 d'une valeur entière non signée.
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdbit.h> #include <stdio.h> #include <stdlib.h> int main() { unsigned int flags = 0x35u; printf( "%u\n", stdc_count_ones( flags ) ); return EXIT_SUCCESS; } |
Cet exemple produit l'affichage suivant.
4
| Nom | Type | Description | Depuis |
|---|---|---|---|
__STDC_VERSION_STDBIT_H__ |
macro | Version de l'entête stdbit.h. | C23 |
__STDC_ENDIAN_BIG__, __STDC_ENDIAN_LITTLE__, __STDC_ENDIAN_NATIVE__ |
macros | Constantes décrivant l'endianness de la plate-forme. | C23 |
stdc_leading_zeros |
macro générique | compte le nombre de bits à 0 consécutifs en partant du bit de poids fort. | C23 |
stdc_leading_ones |
macro générique | compte le nombre de bits à 1 consécutifs en partant du bit de poids fort. | C23 |
stdc_trailing_zeros |
macro générique | compte le nombre de bits à 0 consécutifs en partant du bit de poids faible. | C23 |
stdc_trailing_ones |
macro générique | compte le nombre de bits à 1 consécutifs en partant du bit de poids faible. | C23 |
stdc_first_leading_zero |
macro générique | retourne la position du premier bit à 0 en partant du bit de poids fort, ou 0 s'il n'y en a pas. | C23 |
stdc_first_leading_one |
macro générique | retourne la position du premier bit à 1 en partant du bit de poids fort, ou 0 s'il n'y en a pas. | C23 |
stdc_first_trailing_zero |
macro générique | retourne la position du premier bit à 0 en partant du bit de poids faible, ou 0 s'il n'y en a pas. | C23 |
stdc_first_trailing_one |
macro générique | retourne la position du premier bit à 1 en partant du bit de poids faible, ou 0 s'il n'y en a pas. | C23 |
stdc_count_zeros |
macro générique | compte le nombre total de bits à 0 dans la représentation de la valeur. | C23 |
stdc_count_ones |
macro générique | compte le nombre total de bits à 1 dans la représentation de la valeur. | C23 |
stdc_has_single_bit |
macro générique | indique si la valeur contient exactement un seul bit à 1. | C23 |
stdc_bit_width |
macro générique | retourne le nombre de bits nécessaires pour représenter la valeur. | C23 |
stdc_bit_floor |
macro générique | retourne la plus grande puissance de deux inférieure ou égale à la valeur. | C23 |
stdc_bit_ceil |
macro générique | retourne la plus petite puissance de deux supérieure ou égale à la valeur. | C23 |
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 :