// Need #include <limits.h>

const int int_bits = CHAR_BIT * sizeof(unsigned int);
char *itob(unsigned int n, char *s)
{
    int i;
    char *ts = s;

    for(i = int_bits-1; i > 0 && (n >> i & 1) == 0; i--);
    for(; i >= 0; i--, s++)
        *s = '0' + (n >> i & 1);
    *s = '\0';
    return ts;
}

・・・・・厨くせえソースだな。吊ってくる。