ビット表現ではなく単に2進数で
表示だけしたいのならこういう手もある

void print_bin(int n)
{
    if(n < 0){
        putchar('-');
        print_bin(-n);
    } else {
        if(n/2 != 0)
            print_bin(n/2);
        printf("%d",n%2);
    }
}

int main(void)
{
    int n;
    scanf("%d",&n);
    print_bin(n);
    putchar('\n');
    return 0;
}