我有一个 8 位的字符串,我想将其转换为 1 个字节。我不确定为什么我的功能无法正常工作。我将 8 位存储到 8 个无符号字符的数组中。到目前为止,这是我的方法:
unsigned int bitsToBytes(unsigned char *bits)
{
unsigned int sum = 0;
for(int i = 7; i >= 0; i--)
{
sum += bits[i];
sum<<=1;
}
return sum;
}
int main()
{
unsigned char bits[8];
unsigned int byt;
byt = bitsToBytes(bits);
cout << byt; //doesn't give me the right result
}
编辑:我的位数组在数组中包含“1”和“0”!抱歉不清楚。
可能有人知道我在哪里做错了吗?我不确定为什么我的位没有正确转换为字节。有人可以帮忙吗?谢谢!