Das Problem ist, dass deine Variablen 8Bit groß sind, du schiebst die Bits aber weiter als diese 8 Bits nach links. Du brauchst also Variablen, in die mehr Bits reinpassen. Du deklarierst die Variablen gleich größer oder du castest sie beim shiften.
also so: (( (uint32_t) w) << 24)
Dann dürfte es eigentlich funktionieren.
Lesezeichen