Fehler bei int in char und zurück
-
also hier mal kurz mein Problem,
ich will eine UINT in die ersten paar byte eines Chars schreiben.
hier der code,
den fehler könnt ihr unten ja dann rauslesen:buff[2] = ID & 255; buff[3] = ( ID >> 8 ) & 255; buff[4] = ( ID >> 16 ) & 255; buff[5] = ( ID >> 24 ) & 255; UINT blubb = ( buff[5] << 24 ) | ( buff[4] << 16 ) | ( buff[3] << 8 ) | ( buff[2] );
UINT ID wert = 10978480
Wert blubb = -80noch komischer
wenn ich das original ID auf
10978490
änder wird
blubb -70...
-
Ist das char-Array unsigned? Muss es nämlich sein.
Wieso benutzt du & 255?
-
[cpp]unsigned char buff[4]; [/cpp]?
-
Original erstellt von Gary:
Ist das char-Array unsigned? Muss es nämlich sein.
Wieso benutzt du & 255?Heute ist wohl immer einer schneller als ich ..
& 255 schneidet überflüssige Bits ab.
-
YEHAAA
dank' euch !!!!!
cool, endlich gehts