Самый стандартный / правильный способ маскирования битов - это использование читаемой битовой маски вида 1u << bit
.Любой программист на Си, заметивший в коде 1u << n
, будет знать, что это битовая маска - так что это самодокументируемый код.
Поэтому, если вы хотите получить бит 7, вы должны написать
*var & (1u << 7)
Суффикс u
важен для надежного кода, так как вы хотите избежать случайного неявного продвижения на подписанные типы.