#include #include #include #include void dump(unsigned long long n) { int i; printf( "int64 : %llu %lld 0x%016llx\n" "int32 : %lu %ld 0x%08lx\n" "int16 : %hu %hd 0x%04hx\n" "byte : %hhu %hhd 0x%02hhx\n" "bin : ", n, (long long)n, n, (unsigned long)n, (long)n, (unsigned long)n, (unsigned short)n, (short)n, (unsigned short)n, (unsigned char)n, (signed char)n, (unsigned char)n); for(i=0;i<63 && !((n>>(63-i))&1) ;i++) ; for(;i<64;i++) { if(i && i%8==0) { if(i%16==0) { putc(' ', stdout); } else { putc('-', stdout); } } putc("01"[(n>>(63-i))&1], stdout); } fputs("\n\n", stdout); } int main(int argc, char **argv) { int i; long long n; char *ep; if(argc==1) { while(scanf("%lli", &n)) { dump(n); } } else for(i=1;i