До этого почему-то использовал отдельно сброс и установку битов по позиции. Сейчас собрал в одну функцию.
//--  Set bit value by pos
void setBit(uchar &var, uchar pos, bool val)
{
    var = (var & ~ (1<<pos)) | (val << pos);
}До этого почему-то использовал отдельно сброс и установку битов по позиции. Сейчас собрал в одну функцию.
//--  Set bit value by pos
void setBit(uchar &var, uchar pos, bool val)
{
    var = (var & ~ (1<<pos)) | (val << pos);
}