2012-09-08 146 views
0

我有兩個變量:二進制INT二進制字符

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

研究按位AND和OR運算符。如果您選擇使用它,則按位否定可以幫助後一部分。 – chris

回答

2

如果我理解你的權利,這樣的事情應該工作...

int binary[8]; 
char array = 0; 

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

這應該在任何兼容C99-環境下CHAR_BIT至少8工作。

2
for (int i = 0; i < 8; i++) 
    array |= binary[i] << i;