Битовые операторы в PHP
В РНР имеется несколько операторов, предназначенных для работы с отдельными битами в целых числах. Битовые операции используются обычно в достаточно сложных программах, например, когда требуется хранить в одном целом числе большое количество разнообразных двоичных признаков.
Например, рассмотрим оператор логического «ИЛИ», «|». Результатом его применения к двум целым числам является также целое число. Оно состоит из бит, которые установлены хотя бы у одного из операндов оператора. Если $а = 1 (установлен 0-й бит числа), а $b = 2 (установлен 1-й бит числа), то $а | %b = 3 (установлен и 0-й, и 1-й бит).
Операторы двоичного сдвига эквивалентны умножению и делению на степени числа 2. Например, в результате сдвига 4 < 2 получится число 16 = 4*22, а в результате сдвига 8 > 2 получится число 2 = 8 / 22.
Следует обратить внимание, что данные операторы манипулируют именно целыми числами, а не логическими значениями TRUE и FALSE.
Автор: Стивен Хольцнер. Переводчик: С. Банников