十进制到二进制转换器:在输出中添加空格

Decimal to binary converter: add spaces to output

我正在用 C 实现十进制到二进制的转换器。但是我的部分任务是在每个 8 位之间有一个 space。

例如:00001000 10101010 11111110 00000001

这是我的代码:

if(decimal >= 0 && decimal <= 2147483647)
{
    printf("%d as a 32-bit binary number is:\n",decimal);
    for(x=31; x>=0; x--)
    { 
        y = decimal >> x;
        if(y&1)
            printf("1");
        else
            printf("0");
    }
}

我会使用取模运算符,如果这是 8 的倍数,则添加一个 space。

if (x % 8 == 0) printf(" ");