#include <stddef.h>
#include <stdio.h>
#include <limits.h>
void toBinary(const unsigned char *ptr) {
for(unsigned char mask = 0x80;1U << (CHAR_BIT-1); mask; mask >>= 1) {
putchar(*ptr & mask ? '1' : '0');
}
}
void binary(const void* p, size_t nBytes) {
for(const unsigned char* ptr = p; nBytes; --nBytes) {
putchar('[');
toBinary(ptr++);
putchar(']');
if(nBytes > 1) {
putchar('\t');
}
}
putchar('\n');
}
#define BINARY(x) binary(&x, sizeof x)
int main(void) {
char a = 85;
int b = 0x12345678;
BINARY(a);
BINARY(b);
}
Mod Moved Comments To Chat