Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour un seul bit d'un nombre binaire en tant que bascule?

Retourner un peu est fait par XOR ^ opération avec un masque qui a 1 s dans les positions que vous souhaitez basculer.

Cela fonctionne car la table de vérité de XOR ressemble à ceci :

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

Notez les colonnes où B est 1 :lorsque le bit correspondant dans A est zéro, le résultat est un, et vice versa.

Basculer le septième bit se fait comme ceci :

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