Skip to content

Latest commit

 

History

History
executable file
·
60 lines (52 loc) · 3.59 KB

2.7_Bitovye-operatory.md

File metadata and controls

executable file
·
60 lines (52 loc) · 3.59 KB

2.7 Битовые операторы

Наконец, в РНР имеется несколько операторов,предназначенных для работы с отдельными битами в целых числах. Битовые операции спользуются обычно в достаточно сложных программах, например, когда требуется хранить в одном целом числе большое количество разнообразных двоичных признаков.

Замечание


Наряду с целыми числами, при помощи битовых операторов могут обрабатываться и строки. В этом случае преобразование осуществляется над ASCII-кодами символов


Перечень битовых операторов приведен в табл.2.2.

Таблица 2.2. Битовые операторы

Оператор Обозначение Описание
Логическое «И» $а & $b Результатом являются биты, которые установлены и в $а, и в $b.
Логическое «ИЛИ» $а | $b Результатом являются биты, которые установлены в $а или в $b.
Исключающее «ИЛИ» $а ^ $b Результатом являются биты, которые установлены только в $а, или только в $b.
Логическое "HE" ~$а Результатом являются биты, которые не установлены в $а.
Сдвиг влево $а << $b Сдвиг битов $а на $b битов влево. Каждый сдвиг эквивалентен умножению на 2.
Сдвиг вправо $а >> $b Сдвиг битов $а на $b битов вправо. Каждый сдвиг эквивалентен делению на 2.

Например, рассмотрим оператор логического «ИЛИ», «|». Результатом его применения к двум целым числам является также целое число. Оно состоит из бит, которые установлены хотя бы у одного из операндов оператора. Если $а = 1 (установлен 0-й бит числа), а $b = 2 (установлен 1-й бит числа), то $а | $b = 3 (установлен и 0-й, и 1-й бит).

Операторы двоичного сдвига эквивалентны умножению и делению на степени числа 2. Например, в результате сдвига 4 << 2 получится число $16 = 4\cdot 2^2$, а в результате сдвига 8 >> 2 получится число $2 = 8\ /\ 2^2$. Следует обратить внимание, что данные операторы манипулируют именно целыми числами, а не логическими значениями TRUE и FALSE.