Convertendo um int em uma matriz de 4 bytes (C)

Ei, eu estou olhando para converter um int que é inserido pelo usuário em 4 bytes, que estou atribuindo a uma matriz de caracteres. Como isso pode ser feito?

Exemplo:

Converta entradas de usuário de 175 em

00000000 00000000 00000000 10101111

Problema com todas as respostas até agora, a conversão de 255 deve resultar em0 0 0 ff embora seja impresso 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 resultam em0 0 0 ffffffff ao invés de0 0 0 ff

Apenas outro exemplo é 175, pois a entrada é impressa como0, 0, 0, ffffffaf quando deveria ser0, 0, 0, af

questionAnswers(10)

yourAnswerToTheQuestion