gpt4 book ai didi

c - 如何在 C 中将 32 位整数的位模式存储在 32 长度的 0 和 1 字符串中

转载 作者:行者123 更新时间:2023-11-30 20:03:22 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何执行标题中描述的操作。然而,有一些规则。我只能使用位级运算来确定字符是0还是1。因此没有函数调用、宏调用、加法、减法、除法、取模或乘法。

我很可能最终会使用异或和/或位移位。我只是不确定到底该怎么做。我在这里发现了一个类似的问题,但它涉及从字符串转换为整数。如有任何帮助,我们将不胜感激。

最佳答案

char *uintToChar(uint32_t uint, char *buff)
{
char *wptr = buff;

for(uint32_t i = 1ul << 31; i ; i >>= 1)
{
*wptr++ = (uint & i) ? '1' : '0';
}
*wptr = 0;
return buff;
}


int main(void)
{
char d[33];

printf("%s\n", uintToChar(0xf0f0f0f0, d));
}

关于c - 如何在 C 中将 32 位整数的位模式存储在 32 长度的 0 和 1 字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52562605/

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