>>83
#include <stdio.h>

char* to_radix_2(unsigned int x, char* s) {
    int index = 0, left = 0;
    char temp;
    do s[index++] = (x & 1) + '0'; while (x >>= 1);
    s[index--] = '\0';
    while (left < index) {
        temp = s[left];
        s[left++] = s[index];
        s[index--] = temp;
    }
    return s;
}

int main(void) {
    char s[256];
    int i = 123456;
    printf("%d(10) = %s(2)", i, to_radix_2(i, s));
}