【发布时间】:2010-03-07 17:45:04
【问题描述】:
我问了here 的问题,现在我想扭转这个过程
我有一个代表位模式的 unsigned short,我想要一个 bool[16] 数组,为 unsigned short 中的相应位设置真或假。
目前为止
其中二进制 2 是一个无符号短整数,具有我希望解压缩的位模式。
unsigned short i;
i = 1<<(sizeof(unsigned short) * 8 - 1);
while (i > 0) {
if (binary2 & i)
printf("1");
else
printf("0");
i >>= 1;
}
但我似乎遗漏了我的模式中的第一位并转移了其余的位。
【问题讨论】:
-
请贴出你目前写的代码。人们通常不喜欢只为您编写代码。
-
我不同意。我回答了我可以回答的任何问题,我相信 SO 旨在成为综合答案库。找到所有答案的地方。全部回答,不要判断。
-
你贴的代码没有拆包。它打印
binary2的二进制表示。 -
是的,我只是将它打印到控制台,直到我做对了...
-
@Aran:您发布的代码看起来不错 - 您所说的“我似乎遗漏了我的模式中的第一个部分”是什么意思?
标签: c bytearray bit-manipulation