//将数组的第index个bit置0
void ClearBit(uchar* data, int index)
{
int idata = (index) / 8;
int ibit = (index) % 8;
data[idata] &= ((uchar)(~(1 << ibit)));
}
//将数组的第index个bit置1
void SetBit(uchar* data, int index)
{
int idata = (index) / 8;
int ibit = (index) % 8;
data[idata] |= ((uchar)((1 << ibit)));
}
//获取数组的第index个bit值
bool GetBit(uchar* data, int index)
{
int idata = (index) / 8;
int ibit = (index) % 8;
return (bool)((data[idata] >> ibit) & 0x1u);
}