Битовые операции

Тема в разделе "Arduino & Shields", создана пользователем YeS, 1 мар 2018.

  1. YeS

    YeS Гик

    Всем добрый день. Подскажите пожалуйста возможно ли сделать необходимое преобразование битовыми операциями. Сам не смог придумать как. Имеются два операнда А и В.
    Например
    А = 11111101
    В = 01000010
    <некие битовые операции>
    Результат:
    C = 10111111

    Необходимо получить результат при котором все биты операнда А меняются на противоположные если соответствующий бит в операнде В равен 1. Если бит операнда В нулевой, то соответствующий бит в А не меняется.
     
  2. DetSimen

    DetSimen Guest

    обычный XOR
    С = A ^ B; в терминах С

    табличка состояний

    0 ^ 0 = 0
    1 ^ 0 = 1
    0 ^ 1 = 1
    1 ^ 1 = 0
     
    YeS нравится это.
  3. YeS

    YeS Гик

    Блин. Затупил. Тут же обычное исключающее или "^" должно выдать необходимый результат.
     
  4. YeS

    YeS Гик

    Ага. Как раз сам и пришёл к этому выводу. Надо поспать наверное ))))))))