Суть вопроса. Имеется переменная (допустим Flags), содержащая битовые флаги. При некоторых условиях некоторые биты не должны быть установлены. Пусть эти биты сидят в константе UnUsedBits. Понятно, что если эти биты заведомо установлены, то
- Код: Выделить всё
Flags = Flags Xor UnUsedBits
эти биты сделает неустановленными. А если один или все из этих битов неустановлены изначально, то вышеуказанная строка их установит... Чего нам как раз не надо. Проблему решает конструкция вида:
- Код: Выделить всё
Flags = (Flags Or UnUsedBits) Xor UnUsedBits
Собственно вопрос. Это единственный способ или есть решение попроще?