Байты в двоичный в C

Я пытаюсь просто преобразовать байт, полученный от fget, в двоичный файл.

Я знаю, что значение первого байта было 49 на основе печати значения. Теперь мне нужно преобразовать это в двоичное значение.

unsigned char byte = 49;// Read from file
unsigned char mask = 1; // Bit mask
unsigned char bits[8];

  // Extract the bits
for (int i = 0; i < 8; i++) {
    // Mask each bit in the byte and store it
    bits[i] = byte & (mask << i);
}
 // For debug purposes, lets print the received data
for (int i = 0; i < 8; i++) {
printf("Bit: %d\n",bits[i]);
}

Это напечатает:

Bit: 1
Bit: 0
Bit: 0
Bit: 0
Bit: 16
Bit: 32
Bit: 0
Bit: 0
Press any key to continue . . .

Понятно, что это не двоичное значение. Любая помощь?

Ответы на вопрос(6)

Ваш ответ на вопрос