Я хочу иметь возможность устанавливать или очищать (несколько) бит uintX_t t
.Оптимизация «i = b? (I | mask): (i & ~ mask)«
i
является переменной времени выполнения (uintX_t
). b
- это переменная времени выполнения (uintX_t
), которая ограничена 0
или 1
.
mask
- постоянная времени компиляции.
Есть ли лучший способ, чем:
i = b ? (i | mask) : (i & ~mask)
Я ищу, чтобы избежать ветвления, если это возможно. Цель - ARM, если это имеет значение.
'я = b' или' я == b' ? –
@HongOoi 'i = (b? (I | mask): (i & ~ mask))' – fadedbee