char * itobs(int num, char * str) {
    int i;
    static int size = 8 * sizeof(int);
    for (i = size - 1; i >= 0; i--, num >>= 1) {
        str[i] = (01 & num) + '0';
    }
    str[size] = '\0';
    return str;
}

注: char str[8 * sizeof(int) + 1]

参考自:C Primer Plus 第15章 位操作

相关文章: