Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como atualizar um único bit de um número binário como alternância?


Inverter um bit é feito por XOR ^ operação com uma máscara que tem 1 s nas posições que você gostaria de alternar.

Isso funciona porque a tabela verdade do XOR se parece com isso:
  A: 0 0 1 1
  B: 0 1 0 1
A^B: 0 1 1 0

Observe as colunas onde B é 1 :quando o bit correspondente em A é zero, o resultado é um e vice-versa.

A alternância do sétimo bit é feita assim:
UPDATE numbers SET numb = numb ^ b'0001000000';