Go Down

Topic: Forcer l'affichage d'une variable sur 8 bits (Read 619 times) previous topic - next topic

bratak22

May 07, 2010, 01:11 pm Last Edit: May 07, 2010, 01:28 pm by teka_22 Reason: 1
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

flaith

#1
May 07, 2010, 02:32 pm Last Edit: May 07, 2010, 02:40 pm by flaith Reason: 1
Salut, en "C" tu peux faire comme cela :

Code: [Select]
#include <stdio.h>
#include <stdlib.h>

#define MAX_LEN_BIN 8

char* GetBIN(int nombre)
{
     static char result[MAX_LEN_BIN-1] = "";            // Static char value pour le retour
     char buffer[MAX_LEN_BIN-1] = "";            // local char value pour sprintf

     itoa(nombre, buffer, 2);                  // base 2 (Binaire)
     sprintf(result, "%08s", buffer);
     
     return result;
}

int main(void)
{
     int valeur = 0x7F;

     printf("Binary value=%s\n",GetBIN(valeur));
     return 0;
}

;)

bratak22


Go Up