PHP скрипты

MySQL

Apache

phpMyADmin

5.6: Поразрядные операторы в PHP

Главная Страница » Книги по PHP » Самоучитель PHP 5 для чайников с примерами » Поразрядные операторы

Поразрядные операторы выполняют логические операции, но не между операндами, а между их разрядами в битовом представлении. Очень легко с этими операциями разобраться на примере листинга 5.2.

Листинг 5.2. Поразрядные операторы.

‹html›
‹head›
‹title›Поразрядные операторы‹/title›
‹/head›
‹body›
‹?php
echo (10 & 5); // выведет 0
?›
‹/body›
‹/html›

Давайте разберемся, почему получился такой удивительный результат. Битовое представление - это есть ни что иное как запись в двоичной системе счисления. Число 10 записывается как 1010, а 5 - 0101. Затем, начиная с младшего разряда, начинает выполняться логическое «и». В результате и получается число 0000, которое соответствует десятичному числу 0. Приведем все поразрядные операторы РНР:

$а & $b - поразрядное «и»;
$а | $b - поразрядное «или»;
$а ^ $b — поразрядное исключающее «или»;
~ $а - поразрядное «не»;
$а << $b - поразрядный сдвиг влево;
$а >> $b - поразрядное сдвиг вправо.

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

Поделиться с друзьями