Скажем, у меня есть байт с шестью неизвестными значениями:
???1?0??
и я хочу обменять биты 2 и 4 (без изменения значений ?
):
???0?1??
Но как бы это сделать в одной операции в C?
Я выполняю эту операцию тысячи раз в секунду на микроконтроллере, поэтому производительность является главным приоритетом.
Было бы хорошо "переключить" эти биты. Несмотря на то, что это не то же самое, что при замене битов, переключение будет отлично работать для моих целей.