Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie aktualisiere ich ein einzelnes Bit einer Binärzahl als Umschalter?

Ein bisschen umdrehen wird durch XOR ^ gemacht Operation mit einer Maske, die 1 hat s in Positionen, die Sie umschalten möchten.

Das funktioniert, weil die Wahrheitstabelle von XOR so aussieht:

  A: 0 0 1 1
  B: 0 1 0 1
A^B: 0 1 1 0

Beachten Sie die Spalten mit B ist 1 :wenn das entsprechende Bit in A Null ist, ist das Ergebnis eins und umgekehrt.

Das Umschalten des siebten Bits erfolgt wie folgt:

UPDATE numbers SET numb = numb ^ b'0001000000';