PHP 4 на практике


Операторы - часть 6


Поразрядные операторы

Поразрядные операторы

выполняют операции с целыми числами на уровне отдельных битов, составляющих число. Чтобы лучше понять принцип их работы, необходимо иметь хотя бы общее представление о двоичном представлении десятичных чисел. В табл. 3.9 приведены примеры десятичных чисел и соответствующих им двоичных представлений.

Таблица 3.9.

Десятичные числа и их двоичные представления

Десятичное целое

Двоичное представление

2

10

5

101

10

1010

12

1100

145

10010001

1 452 012

1011000100111111101100

Поразрядные операторы, перечисленные в табл. 3.10, представляют собой особый случай логических операторов, однако они приводят к совершенно иным результатам.

Таблица 3.10.

Поразрядные операторы

Пример

Название

Результат

$а&$b

Конъюнкция

С битами, находящимися в одинаковых разрядах $а и $b, выполняется

операция конъюнкции

$а|$Ь

Дизъюнкция

С битами, находящимися в одинаковых разрядах $а и $b, выполняется операция дизъюнкции

$а^$b

 

Исключающая

С битами, находящимися в одинаковых разрядах $а и $b, выполняется операция исключающей дизъюнкции

~$b

Отрицание

Все разряды переменной $b инвертируются

$а << $b

Сдвиг влево

Переменной $а присваивается значение $b, сдвинутое влево на два бита

$а >> $b

Сдвиг вправо

Переменной $а присваивается значение $b, сдвинутое вправо на два бита

Если вам захочется больше узнать о двоичном представлении и поразрядных операторах, я рекомендую обратиться к обширному электронному справочнику Рэндалла Хайда (Randall Hyde) «The Art of Assembly Language Programming», доступному по адресу http://webster.cs.ucr.edu/Page_asm/Page_asm.html. Это лучший из ресурсов, которые мне когда-либо встречались в Web.




Начало  Назад  Вперед



Книжный магазин