0

我有两个变量:

int binary[8];
char array;

其中二进制变量只有'0s'和'1s'......所以,我想这样做

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"

我将如何做到这一点?

4

2 回答 2

2

如果我理解正确,这样的事情应该可以工作......

int binary[8];
char array = 0;

int n = 8;
while (n) {
  array |= binary[--n];
  array <<= 1;
}

这应该CHAR_BIT在至少8.

于 2012-09-08T20:35:27.477 回答
2
for (int i = 0; i < 8; i++)
    array |= binary[i] << i;
于 2012-09-09T00:39:42.367 回答