diff options
-rw-r--r-- | bin.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -0,0 +1,21 @@ +printu32(unsigned int n) { + int i; + printf("%u = 0x%08x\n", n, n); + printf(" 28 24 20 16 12 8 4 0\n"); + for(i = 31; i>=0; i--) { + printf("%d", !!(n&(1<<i))); + if(!(i%4)) printf(" "); + if(!(i%8)) printf(" "); + } + printf("\n"); +} +printu32_long(unsigned int n) { + int i; + printf("%u = 0x%08x\n", n, n); + printf("|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15" + "|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0\n"); + for(i = 31; i>=0; i--) printf("| %d", !!(n&(1<<i))); + printf("\n"); +} + +main(int argc, char* argv[]) { printu32_long(strtoul(argv[1], 0, 0));} |