begin process at 2012 05 29 18:54:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Pb : Stockage char > 255.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb : Stockage char > 255.

mardi 26 mai 2009 à 18:05:01 | Pb : Stockage char > 255.

romain60112

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.

Pour info voici mon code :

int z;
void CSimulationDlg::OnNMCustomdrawSlider3(NMHDR *pNMHDR, LRESULT *pResult)  

 LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
 CSliderCtrl *pSlider3=static_cast<CSliderCtrl *>(GetDlgItem(IDC_SLIDER3));

 z = pSlider3->GetPos();
 pSlider3->SetRange(0,2000);
 pSlider3->SetPos(1000);

 *pResult = 0;
}

Merci pour les propositions.

Cordialement
Romain

mardi 26 mai 2009 à 18:51:09 | Re : Pb : Stockage char > 255.

beg0

Réponse acceptée !
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 bit
c1= Entier >> 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*/

char c[sizeof(variable_a_stocker)/sizeof(char)];

for(int i=0 ; i< sizeof(variable_a_stocker)/sizeof(char) ; i++)
c[i]=variable_a_stocker>>(8*i) & 0xFF;

/*c[0] contient les bits de poids faibles, c[7] contient les bits de poids forts de variable_a_stocker */


avec une petite adaptation mineure on peut aussi stocker ca dans autre chose que des char... je te laisse experimenter si tu veux.

Si j'ai repondu a cote de la plaque, desole, mais j'ai pas compris ce que tu voulais... :(
mercredi 27 mai 2009 à 08:21:16 | Re : Pb : Stockage char > 255.

romain60112

Bonjour,

Vous avez bien compris ma demande, votre solution est claire et précise !

Grand merci et a bientôt.

Cordialement

Romain


Cette discussion est classée dans : pb, char, slider, stockage, pslider3


Répondre à ce message

Sujets en rapport avec ce message

PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, Pb Class et pointeur ... [ par payen ] salut a tous,j'ai un petit probleme en C++: j'ai definit une class CImage, avec entre autre, un pointeur vers une variable de type char (char *nom_ima pb de nom de volume [ par shinevilkyo ] voici un bout de mon code j utile la fonc getvolumeinfo mais j ai un pb et je ne trouve po de koi il s agit merci d aider un debutant a rogrammer sous pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai Pb vector de vector de char ! [ par nicolas66 ] Ben g un pti pb avec ce prog en Cpp, à la compile ca passe mé à l'execution ca plante !! si vous savé pk merci d'avance !(c censé initialisé un buffer PB SQL, transformation char* en string [ par desquesa ] Bonjour, tout le monde Voilà j'ai un problème, j'ai une structure de ce type:typedef struct mes_DONNEES { char *date; char *heure; char *annee; char * Pb avec la fonction free en C [ par Cako19 ] Bonjour,J'ai un problème lorsque je souhaite libérer une chaîne de caractère et je ne trouve pas la réponse dans le forum bien que le sujet ait déjà é pb malloc [ par youpiyoyo ] d'apres msdn char *string; /* Allocate space for a path name */ string = malloc( _MAX_PATH );deja ca chez moi ca compil pas me compilo me di impos Pb avec variable char [ par enrageur ] voila j'utilise des variables de type char. je l'initialise de la maniere suivante :char tab[256];Mon probleme est que j'aimerais initialiser le table


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,635 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales