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';