我有两个变量:
int binary[8];
char array;
其中二进制变量只有'0'和'1'......所以,我想按照
进行操作for (i=0;i<8;i++)
if(binary[i])
"Here I want put 1 in the position bit of the variable array"
else
"Here I want put 0 in the position bit of the variable array"
我将如何做到这一点?
答案 0 :(得分:2)
如果我理解你的话,这样的事情应该有用......
int binary[8];
char array = 0;
int n = 8;
while (n) {
array |= binary[--n];
array <<= 1;
}
这应该适用于CHAR_BIT
至少为8
的任何C99兼容环境。
答案 1 :(得分:2)
for (int i = 0; i < 8; i++)
array |= binary[i] << i;