MySQL использует для двоичных операций 64-битовые величины BIGINT,
следовательно, для двоичных операторов максимальный диапазон составляет 64
бита.
-
|Побитовое ИЛИ
mysql> SELECT 29 | 15; -> 31Результат является беззнаковым 64-битовым целым числом.
-
&Побитовое И
mysql> SELECT 29 & 15; -> 13Результат является беззнаковым 64-битовым целым числом.
-
^Побитовый XOR (побитовое сложение по модулю 2)
mysql> SELECT 1 ^ 1; -> 0 mysql> SELECT 1 ^ 0; -> 1 mysql> SELECT 11 ^ 3; -> 8Результат - беззнаковое 64-битное целое число.
XORбыл реализован в MySQL 4.0.2. -
<<Сдвиг числа двойной длины (
BIGINT) влево:mysql> SELECT 1 << 2; -> 4Результат является беззнаковым 64-битовым целым числом.
-
>>Сдвиг числа двойной длины (
BIGINT) вправо:mysql> SELECT 4 >> 2; -> 1Результат является беззнаковым 64-битовым целым числом.
-
~Инвертировать все биты:
mysql> SELECT 5 & ~1; -> 4Результат является беззнаковым 64-битовым целым числом.
-
BIT_COUNT(N)Возвращает число битов, указанное в аргументе
N:mysql> SELECT BIT_COUNT(29); -> 4