#include <stdbit.h>
unsigned int stdc_first_leading_one_uc( unsigned char value );
La fonction stdc_first_leading_one_uc est la variante unsigned char de la famille
stdc_first_leading_one. Elle retourne la position du premier bit à 1 en partant du bit de poids fort, ou 0 s'il n'y en a pas.
Dans la plupart des cas, il est plus pratique d'utiliser la macro générique
stdc_first_leading_one, qui sélectionne automatiquement la bonne variante en fonction du type de
l'argument.
Cette fonction retourne une valeur de type unsigned int.
L'exemple suivant appelle directement la fonction spécialisée.
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <limits.h> #include <stdbit.h> #include <stdio.h> #include <stdlib.h> int main() { unsigned char value = (unsigned char) ((unsigned char) 1 << (sizeof(unsigned char) * CHAR_BIT - 1)); printf( "%u\n", stdc_first_leading_one_uc( value ) ); return EXIT_SUCCESS; } |
Cet exemple produit l'affichage suivant.
1
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 :