Wie finde ich das most significant byte?
-
Hallo C++ - Cracks,
Ich muss das most und das least significant byte aus einem usigned int
extrahieren.
Habe es mit folgendem code probiert:unsigned int crc16 = checksumFrame(&frame); char msb = *(((char *) &crc16)); char lsb = *(((char *) &crc16) + 1);
Was stimmt an diesem code nicht??
vielen dank für eure hilfe.
-
unsigned int hat auf den meisten Systemen (meistens auch noch 32Bit Systeme), 4Byte. Außerem musst du den Endian deines Systems beachten.
Und den Ausdruck
*(((char *) &crc16))
würde ich als
reinterpret_cast<char &>(crc16)
forumilieren. Das ist irgendwie deutlich übersichtlicher (meine Meinung, sollte aber klar sein).