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