Convertir un int en una matriz de caracteres de 4 bytes (C)

Hola, estoy buscando convertir un int que el usuario ingresa en 4 bytes, que estoy asignando a una matriz de caracteres. ¿Cómo se puede hacer esto?

Ejemplo:

Convierta las entradas de un usuario de 175 a

00000000 00000000 00000000 10101111

Problema con todas las respuestas hasta ahora, la conversión de 255 debería resultar en0 0 0 ff aunque se imprime como: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];

ambos resultan en0 0 0 ffffffff en lugar de0 0 0 ff

Otro ejemplo es 175, ya que la entrada se imprime como0, 0, 0, ffffffaf cuando debería ser0, 0, 0, af

Respuestas a la pregunta(10)

Su respuesta a la pregunta