Also vielleicht nochmal anders erklärt. In der Hoffnung das evtl. noch einer die rettende Idee hat.
In einem char Array liegen die folgenden Werte vor:
array[0] -> 00
array[1] -> 00
array[2] -> 03
array[3] -> E8
ich möchte nun diese 4 char Werte zusammenfassen als einen 32 Bit Wert. Also 00 00 03 E8.
Unter C funktioniert das wie folgt:
1. hole mir den Zeiger aus der ersten array Stelle &array[0]
2. diesen char* caste ich in einen 32bit Zeiger um. Auf einem 32bitter also
über unsigned int * = (unsigned int*)(&array[0]);
3. Hole ich mir den Inhalt des 32bit Zeigers über *(unsigned int*)
4. als ergebnis habe ich dann 0x00 0x00 0x03 0xE8 also 1000.
Probiere ich das hier unter QT bekomme ich aber mit einer ähnlichen Vorgehensweise 0xE8 0x03 0x00 0x00.
Woher kommt das?
gooze