Umwandlung eines Int in ein 4-Byte-Char-Array (C)

Hey, ich suche nach einer Umwandlung eines vom Benutzer eingegebenen Int in 4 Bytes, die ich einem Zeichenarray zuordnete. Wie geht das?

Beispiel

Umwandeln Sie eine Benutzereingabe von 175 in

00000000 00000000 00000000 10101111

Bei allen bisherigen Antworten sollte die Konvertierung von 255 zu @ führe0 0 0 ff obwohl es wie folgt ausgedruckt wird:0 0 0 ffffffff

unsigned int value = 255;   

buffer[0] = (value >> 24) & 0xFF;
buffer[1] = (value >> 16) & 0xFF;
buffer[2] = (value >> 8) & 0xFF;
buffer[3] = value & 0xFF;

union {
    unsigned int integer;
    unsigned char byte[4];
} temp32bitint;

temp32bitint.integer = value;
buffer[8] = temp32bitint.byte[3];
buffer[9] = temp32bitint.byte[2];
buffer[10] = temp32bitint.byte[1];
buffer[11] = temp32bitint.byte[0];

both Ergebnis in0 0 0 ffffffff Anstatt von0 0 0 ff

Ein weiteres Beispiel ist 175, da die Eingabe als @ ausgegeben wir0, 0, 0, ffffffaf wenn es nur sein soll0, 0, 0, af