输入一个整数,输出中间带有空格的补码

编写程序, 输入一个整数n(-32768<=n<=32767), 要求以二进制补码形式输出n。(回车↙)

输入:

输入:128↙

输出:

输出:"00000000 10000000"↙


#include <stdio.h>
void main()
{
    int i, k, a,cnt = 0;
    scanf("%d", &a);
    k = 0x8000;
    for (i = 0; i < 16; i++, k >>= 1){
        cnt ++;
        printf("%d", (a & k) ? (1) : (0));
        if(cnt == 8){
            printf(" ");
        }
    }
    printf("\n");
}