我有一個8位的字符串,我想將它轉換爲1個字節。我不知道爲什麼我的功能無法正常工作。我有8位存儲到8個無符號字符的數組中。這是我到目前爲止的方法:從8位轉換爲1個字節
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'的數組!對不起,不清楚。
可能有人知道我在哪裏出錯了?我不知道爲什麼我的位不正確轉換爲字節。誰能幫忙?謝謝!
在你的榜樣,你是不是把任何東西放入'bits'。 –
你期待什麼結果?由於您未初始化「位」,因此您不應該對所顯示的代碼的輸出有任何期望。 – bames53
另請注意,您需要在添加該位之前進行移位。 –