我想打印带有由空格分隔的8位32二进制整数。 EX(00000000 00000000)然后的结果应该被用于未来的测试,我将整合512例如为y。
#define CHAR_BITS 8
void displayBits(unsigned int n){
int sup = CHAR_BITS*sizeof(int);
while(sup >= 0)
{
if(n & (((long int)1) << sup) )
printf("1");
else
printf("0");
sup--;
}
printf("\n");
return;
}
如果你已经有一个工作循环,在每次循环打印出一个字符,并且i
是循环索引,以0开始,那么以下条件将添加一个空格,每8个字符:
if(i && ((i + 1) % 8 == 0))
{
putchar(' ');
}
然而,当前的代码实际上并没有正常工作,要么产生int
的二进制表示。与n
值1测试,并检查它的输出。我看到100000000000000000000000000000001
。