====== Си - Сконвертировать int в биты ====== На ru.stackoverflow задавали вопрос, как сконвертировать int в биты строкой. Мой личный пример. Весьма прилично рабочий, поэтому и пополнил эту коллекцию. #include #include #include #define BITS_IN_INT sizeof(int) * 8 void toBitset(int in, char *out) { int c, d, t; t = 0; if (out == NULL) { exit(EXIT_FAILURE); } for (c = BITS_IN_INT-1 ; c >= 0 ; c--) { d = in >> c; *(out+t) = (d & 1) ? '1' : '0'; t++; } *(out+t) = '\0'; } int main() { const unsigned size = BITS_IN_INT + 1; char buffer[size]; memset(buffer, 0, size); int value; scanf("%d+", &value); toBitset(value, buffer); printf("%s\n", buffer); return 0; }