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ì:
Probabilmente c'è un modo migliore per farlo!?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);![]()

Rispondi quotando
