#include #include #include /* * cc showbits.c -O3 -o sb */ static void showbits(const uint32_t data) { uint32_t mask = 1<<31; size_t i = 31; for(; i;) printf("%02zu\u00B7", i--); puts("00"); for(; mask; mask >>= 1 ) { printf("%s", (uint32_t)(data & mask) ? "\u2731\u2731" : "__"); if (mask != 1) printf("\u205E"); } puts(""); } int main(int argc, char *argv[]) { if (argc < 2) exit(EXIT_FAILURE); showbits(strtol(argv[1], NULL, 16)); puts(""); return EXIT_SUCCESS; }