sql >> Database >  >> RDS >> Mysql

Hoe een enkel bit van een binair getal bijwerken als toggle?

Een beetje flippen wordt gedaan door XOR ^ bewerking met een masker met 1 s in posities die u wilt wisselen.

Dit werkt omdat de waarheidstabel van XOR er als volgt uitziet:

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

Let op de kolommen waar B is 1 :wanneer de corresponderende bit in A nul is, is het resultaat één en vice versa.

Het wisselen van de zevende bit gaat als volgt:

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


  1. tinyint (maat), varchar (maat):uitleg over de maat

  2. Moet ik een typekolom toevoegen om overerving in postgreSQL te ontwerpen?

  3. MySQL voorwaardelijke ORDER BY ASC/DESC voor datumkolom

  4. Hoe kan ik zoeken in een tabel met door komma's gescheiden waarden?