簡體   English   中英

如何從C中的字節數組(unsigned char array)檢索1位

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM