123456789101112131415161718192021222324252627282930
#include <stdio.h> char* binbin(unsigned n); int main() { unsigned b = 21; for (int i = 0; i < 16; i++) { printf_s("%s\t0x%04X\t%4d\n", binbin(b), b, b); b <<= 1; } return(0); } char* binbin(unsigned n) { static char bin[17]; // Why bin should be static? for (int i = 0; i < 16; i++) { bin[i] = n & 0x8000 ? '1' : '0'; n <<= 1; } bin[16] = '\0'; return(bin); }
return bin;