gpt4 book ai didi

c - 如何将小数打印成 32 位二进制,将其分隔 8 位

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:00 27 4
gpt4 key购买 nike

我正在尝试打印一个 32 位二进制整数,其中 8 位由一个空格分隔。 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

关于c - 如何将小数打印成 32 位二进制,将其分隔 8 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54585113/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com