Я знаю, как установить бит, немного очистить, переключить бит и проверить, установлен ли бит.Операции бит бит/копирование одного бита из одного байта в другой байт
Но как я могу скопировать бит, например nr 7 byte_1 в бит nr 7 в byte_2?
Возможно ли без оператора if (без проверки значения бит)?
#include <stdio.h>
#include <stdint.h>
int main(){
int byte_1 = 0b00001111;
int byte_2 = 0b01010101;
byte_2 = // what's next ?
return 0;
}
Вы ищете, как это сделать за одну операцию? Если нет, вы делаете то, что уже знаете, как это сделать: проверьте бит в байте1, проверьте бит в байте2, если они не совпадают, установите бит в байте2. –
не должно быть в одной операции, но я хочу избежать проверки перед значением бита (если это возможно) – astropanic
Возможный дубликат [Установка бита без знака с другим битом другого символа без знака без условного выражения] (http: //stackoverflow.com/questions/11170740/setting-a-bit-of-an-unsigned-char-with-the-another-bit-of-another-unsigned-char) – Heisenbug