sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo actualizar un solo bit de un número binario como alternar?

Voltear un poco se hace con XOR ^ operación con una máscara que tiene 1 s en las posiciones que le gustaría alternar.

Esto funciona porque la tabla de verdad de XOR se ve así:

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

Tenga en cuenta las columnas donde B es 1 :cuando el bit correspondiente en A es cero, el resultado es uno, y viceversa.

Cambiar el séptimo bit se hace así:

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