【发布时间】:2017-08-06 11:34:45
【问题描述】:
我在将二进制值存储到unsigned int 数组中时遇到了一些问题。我试图将二进制表示作为char 数组传递,但是它没有像我希望的那样工作。我正在做的是使用while 循环遍历char 数组并将每个数字分配给unsigned int 数组的一个元素,但这是完全错误的。我只是非常想知道如何将二进制值存储到unsigned int 中。如何在前面显示零?我已经尝试将没有0s 的二进制值放入数组中,但这不起作用。我可以将二进制文件转换为int 值,然后在打印时将其转换回来吗?
这是函数的基本代码
void setstring(unsigned int array[10], char *bitString) {
len=strlen(bitString);
for (int i=1; i<=10; i++) {
for (int p=1; d%32!=0; d++) {
array[10-i]=bitString[len-];
}
}
}
打印只是为了打印bitString 或数组,但目前根本没有打印任何内容。打印只是一个for 循环,它遍历unsigned int 数组。
【问题讨论】:
-
“二进制”是什么意思?真/假,还是某种位掩码?如果您显示您正在尝试做的相关代码示例,也许会更容易。
-
我的意思是在 1 和 0 的 32 位字符串中。我正在尝试存储在无符号整数中。我会尝试把它放在我的代码中,但我认为这是完全错误的。
-
请编辑您的问题并给出一个最小示例,包括观察到的和预期的输出。
-
@danielwestfall 发布您的代码,即使它是错误的。这样我们就可以回答您的问题,而不是猜测您的意思
-
array[10-i]=bitString[len-p);肯定不是真正的可编译代码:)vs]。还有什么不是真正的代码?
标签: c arrays binary unsigned-integer