Forcer l'affichage d'une variable sur 8 bits

tek -  
 tek -
Bonjour, j'ai une variable contenant les données d'une sortie data de mon montage.
Ces données sont binaires (1 ou 0) que je place dans la variable une à une.
Mon problème est situé lors de l'affichage, si les données contenues dans ma variable commencent par un "0" logique, la valeur affichée sera tronquée jusqu'au premier 1 logique.

Exemple: Si mes données sont : 00011011
ça m'affiche : 11011

Comment forcer l'affichage sur 8 bits?

En attendant j'ai ajouté un 1 logique sur un 9em bit mais ça modifie la valeur décimale de ma donnée...

Variable|=0b100000000;
ce qui donne : 100011011

merci de votre aide

A voir également:

6 réponses

xav3601 Messages postés 3390 Statut Membre 311
 
salut,
tu travailles en quel langage?
0
tek
 
c'est du C++, pour une carte arduino (langage très proche du C++)
0
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
si le compilateur accepte : %08b
0
tek
 
Salut, ce "%08b" est à placer devant la variable Résultat?

ex: Serial.print(%08bResultat,BIN);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
faire une boucle:
 int i=8;
        while(i)
                printf("%1d", variable>>--i & 1);
        printf("\n");
0
tek
 
super merci beaucoup, ça marche !
0