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

6 réponses

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

    ex: Serial.print(%08bResultat,BIN);
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    faire une boucle:
     int i=8;
            while(i)
                    printf("%1d", variable>>--i & 1);
            printf("\n");
    
    0