二进制int到二进制char

时间:2012-09-08 20:30:28

标签: c

我有两个变量:

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"

我将如何做到这一点?

2 个答案:

答案 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;