[英]How to convert unsigned char* to an unsigned char array in C/C++?
[英]how to retrieve 1 bit from byte array(unsigned char array) in C
我必須從1個字節中檢索第一位。 為此,我將整個1個字節存儲在無符號char數組中。 現在我按照以下代碼檢索了第一位:
unsigned char byteArray[100];
.....
.....//some code to store 1 byte in byte array
//now 1st bit will be:
int bit=(int) byteArray[0];
我只是想確認檢索第一位所涉及的步驟正確與否? 有沒有更好的方法來從C中的無符號char數組(字節數組)中檢索單個位。
為此,您如何(以及為什么)將字節存儲在字節數組中? 這不是必需的。
無論如何,如果要檢索字節的第一位,則只需要做一位操作。
unsigned char byte = <some random value>; // your byte containing the value.
unsigned int first_bit = byte & 1; // for Least significant bit
操作byte & 1
是按位AND操作 。
不,數組索引器將返回無符號字符大小的數據,而不是單個位。 使用byteArray[0] & 1;
-屏蔽該值,以便僅獲得第一位(取決於“第一”是哪一端)。 另一端是& 128
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.