Bonjour à tous,

J'ai un fichier de mesures stockées sous une forme de LSB\tMSB (ou l'inverse, c'est à moi de trouver ), ces bytes sont en décimal ou en hexadécimal.
Par ex
245 255
242 255

Je cherche à les convertir en int
Pour le fichier l'exemple ci dessus, je devrais trouver
-11
-14

J'ai une formule, (à laquelle je ne comprends rien) qui marche et qui fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
int d0=atoi(tokens[0].c_str());;
int d1=atoi(tokens[1].c_str());;
int mes=d1*256+d0-65536*(d1>>7);
où tokens est un tableau de std::string.

Mais je voudrais faire la manière plus élégante, du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 int mesTer=(d1<<8)|(d0);
mais je n'y arrive pas, j'ai essayé des
Code : Sélectionner tout - Visualiser dans une fenêtre à part
unsigned short numberd0 = (unsigned short) strtoul(tokens[0].c_str(), NULL, 10);
et plein de combinaisons du genre mais sans succès.

Est-ce que quelqu'un pourrait m'aider ?
Merci