[an error occurred while processing this directive]
|
///////////////////////////////////////////////////////////////////////////////
UINT BLGetBit(BLine* p_line, UINT num_bit)//get bit from binline
{
UINT word;
if((num_bit < 0)||(num_bit > 127))return 0;
//-----------------------------------------------------------------------------
word = p_line -> data[(num_bit >> 4)];
num_bit = num_bit&0x000F;
word = word&(1 << num_bit);
word = (word >> num_bit);
return word;
}
///////////////////////////////////////////////////////////////////////////////
Это работа с бинарной строкой 128 бит, упакованных в восемь слов по 16 бит. Получаем бит в заданной позиции.
E-mail: info@telesys.ru