Я пишу функцию, которая преобразует строку ascii в ее двоичное представление с прямым порядком байтов.
Вот мой код:
int count = 0;
for (int i = 0; i < num_strs; i++) {
for (int j = 0; j < 5; j++) {
char c = sep_str[i][j];
for (int k = 7; k >= 0; k--) {
putchar((c & (1 << k)) ? '1' : '0');
count++;
}
if (count == 32) {
putchar('\n');
count = 0;
}
}
}
Я пытаюсь дополнить каждый символ до 32биты.Так, например, пробел равен 0x20
-> 1000000
.Я хочу записать это как 00000000000000000000000001000000
, и каждое 32-разрядное двоичное число должно быть в отдельной строке.Что бы я изменил в своем коде?
Я попытался изменить внешний вид for k
, чтобы начать с 32, но это, очевидно, не сработало ...