Pages: [1]   Go Down
Author Topic: Forcer l'affichage d'une variable sur 8 bits  (Read 611 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: May 07, 2010, 06:28:36 am by teka_22 » Logged

$300:20 58 FC 60
Offline Offline
Newbie
*
Karma: 1
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut, en "C" tu peux faire comme cela :

Code:
#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;
}
smiley-wink
« Last Edit: May 07, 2010, 07:40:52 am by flaith » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

super merci beaucoup, ça marche !
Logged

Pages: [1]   Go Up
Jump to: