从缓冲器中提取比特

extracting a bit from a buffer

本文关键字:提取 缓冲器      更新时间:2023-10-16

从无符号字符中提取一个比特的最佳方法是什么?在我看来,我认为这非常有效`

int bit;
  unsigned char buffer;
  bit= 1 & (buffer>>3) //`if i want to extract the fourth bit
  bit=  1 & (buffer>>7)//if i want to extract the 8 bit

如果您不希望位处于最低有效位(例如,因为布尔条件需要它),您可以这样做:

if (buffer & (1<<3)) {
    // ...
}

由于不断折叠,这可能会更快:它在运行时只有一个操作,而不是两个。