Go Down

Topic: Forcer l'affichage d'une variable sur 8 bits (Read 678 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy