Добрый вечер. Учу PHP, и никак не могу понять. Объясните если Вам не сложно, & Поразрядная конъюнкция (AND) | Поразрядная дизъюнкция (OR) ^ Поразрядное исключающее ИЛИ (XOR) ~ Поразрядное отрицание (NOT) << Сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда >> Сдвиг вправо битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда <? echo(4<<2); // равно 16 echo"<br>"; echo(5>>1); // равно 2 echo"<br>"; echo(6&5); // равно 4 echo"<br>"; echo(6|5); // равно 7 echo"<br>"; echo(6^5); // равно 3 >? echo(4<<2); // равно 16 - Как вычисляется 16 ? Это умножение или как? echo(5>>1); // равно 2 - Почему 2 ? echo(6&5); // равно 4 - Почему 4? Это берется среднее между 6 и 5? А если так echo(8&5); то какой результат будет? echo(6|5); // равно 7 echo"<br>"; echo(6^5); // равно 3 Тут тоже нечего не понятно. Покажите на пальцах, только плиз не посылайте в книге, я ведь учу с книжки которая стоит советом на этом форуме, и которой хорошие отзывы..
1) Код (Text): 4 << 2 было число 4 Код (Text): 00000100 сдвинули на 2 бита вправо и получили число 16 Код (Text): 00010000 2) Код (Text): 6 & 5 Код (Text): 00000110 00000101 побитно применяем логическую операцию AND Код (Text): 00000100 получили 4 остальное по аналогии