Kigger man tilbage på boolsk algebra og sandshedstabellen, findes 'exclusive or' (XOR), der i elektroniske sammenhænge blive brugt til 'flip flop', dvs. ændring af den binære værdi til det modsatte. I sandhedstabellen kan XOR udtrykket oversættes til; returnerer TRUE kun i tilfælde de sammenlignede variabler holder på forskellige værdier.

x

y

NOT x

x AND y

x OR y

x XOR y

- - ! && || ^

True (1)

True (1)

False (0)

True (1)

True (1)

False (0)

True (1)

False (0)

False (0)

False (0)

True (1)

True (1)

False (0)

True (1)

True (1)

False (0)

True (1)

True (1)

False (0)

False (0)

True (1)

False (0)

False (0)

False (0)


Dette kan udnyttes i tilfælde af, man vil gøre brug af en 'Toggle()' funktion, der skal ændre den boolske værdi af en variabel. Til dette formål benyttes '^' operatoren.
Normalt vil man nok gøre følgende:

public bool Toggle(bool x) {
    if(x){
      x = false;
    } else {
      x = true;
    }
    return x;
}


Eller den simplere udgave...

public bool Toggle(bool x) {
    return x ? false : true;
}


Dette kan yderligere ændres ved brug af XOR operatoren i C#:

public bool Toggle(bool x) {
    return x ^= true;
}


Man kan faktisk også bruge return !x;