Ciao a tutti,
vi spiego il mio problema...
...ho 3 byte (unsigned char)... devo unirli e formare un int e poi stamparne il valore.
Il problema è che posso avere anche valori negativi... e ho notato che con certi valori mi vengono dei numeri sballati...
Io ho fatto così:
codice:
unsigned char lowByte;
unsigned char middleByte;
unsigned char highByte;
int valore = lowByte | middleByte<<8 | highByte<<16;
if(highByte & 0x80 == 0x80)
valore = (valore-0xFFFFFF)-1;
printf("Valore: %d\n",valore);
Probabilmente c'è un modo migliore per farlo!?