首先数组unsigned char a[8]里面的元素不是二进制数,实际为a[8]={0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01}
那么数组a[8]里面每个元素的二进制值为
a[0] = 00000000B
a[1] = 00000001B
a[2] = 00000001B
a[3] = 00000001B....由此类推
如果非要将他们组合成0x7F
(不知道你这样做有什么用途,感觉没什么意义,但为了解答你下面演示一下)
可以参看下面代码,
u8 m;
for(i=0;i<8;i++)
{
m|=a[i]<<(7-i);
} |