romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 2013
-
26 mai 2009 à 18:05
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 2013
-
27 mai 2009 à 08:21
Bonjour a tous,
J'ai un souci concernant le stockage d'un nombre > 255 voici mon problème :
J'ai créer une appli pc qui contient un slider contrôle. Ce slider contrôle varie de -1000 à +1000.
Je souhaite récuperer la valeur du curseur et la stocker dans deux char pour la renvoyer sur le bus CAN.
cs_beg0
Messages postés51Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention13 mars 20111 26 mai 2009 à 18:51
Salut
Pas sur d'avoir compris ton probleme. Dit moi si c'est ce que tu cherchais
Soit Entier une variable de type short (16 bits) et c1,et c2 deux variables de types char (soit 8 bits)
int Entier;
char c1,c2;
Si j'ai bien compris tu veux stocker les 16bits de Entier dans c1 etc2?
pour se faire, il faut utiliser les opérations bit a bitc1Entier >> 8 ; /* si ton compilateur se plaint, écris c1 (Entier >>8) & 0xFF; */
c2 = Entier & 0xFF;
ou c1 contiendra les 8 bits de poids forts de Entier et c2 contiendra 8 bits de poids faibles de Entier.
Une formule un peu plus générale pour stocker une variable de n'importe quelle taille dans n char
int64_t variable_a_stocker; /*remplace int64_t par la valeur que tu veux */
/*travail sur variable_a_stocker*/