2017-05-25 2 views
0

Je reçois deux caractères d'un port série disons '\ x10' et 'Q'.Conversion de caractères en décimales pendant que j'ai besoin d'ajouter les valeurs ensemble

Je dois les convertir en décimal.

Chaque caractère indique un « 10 » et « 51 » code hexadécimal à deux octets

Cependant, je dois les joindre et ont « 1051 » puis convertir en décimal pour me donner 4177 qui indique ma valeur de tension multiplié par 100.

Alors, quelle est la question?

Je sais que printf ("% x", ...) me donne une valeur HEX mais il ne me donne pas cette possibilité de modifier et d'ajouter deux codes hexadécimaux pour en obtenir un. (Il montre juste le format HEX)

Alors, quel est le moyen de convertir et de les ajouter ensemble?

Répondre

0

C'était assez facile mais difficile. Et j'ai été confus par la division dans le paquet reçu! C'était juste un simple hexagone à déc. Et déc. À hexagone afin de s'ajouter à un morceau ensemble!

int x, y, z, v, n; 

string s = SerialBuffer ; 



char ch; 

ch = SerialBuffer[17]; 



char ch2; 

ch2 = SerialBuffer[16];// s.at(16); 

x = (ch/16);// +(int)sum; 
y = (ch % 16); 
z = (ch2/16); 
v = ch2 % 16; 

n = v + z * 16 + y * 256 + x * 4096;   // decimal