Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб №4.Конструкции языка WEB-программирования....doc
Скачиваний:
9
Добавлен:
22.04.2019
Размер:
176.64 Кб
Скачать

5.Битовые операции

Эти операции предназначены для работы (установки/снятия/проверки)

групп битов в целой переменной.

Биты целого числаэто отдельные разряды того же самого числа, записанного в двоичной системе счисления. Например, в двоичной системе число 12 будет выглядеть как 1100, а 2 — как 10, так что выражение 12|2 вернет нам число 14 (1110 в двоичной записи). Если переменная не целая, то она вначале округляется, а уж затем к ней применяются перечисленные ниже операторы.

а & b - результат — число, у которого установлены только те биты, которые установлены и у а, и у b одновременно.

Пример:

<?

8 4 2 1

$a=13;// в двоичном виде 1101(разряд 8+разряд4+разряд1=13)

8 4 2 1

$b=5; // в двоичном виде 0101(разряд 4+разряд1=5)

8 4 2 1

$c=$a&$b;//13&5(1101&0101) =5 (0101)=разряд4+разряд1=5

echo"$c";// вывод полученного результата = 5 (0101)

?>

а | b - результат — число, у которого установлены только те биты, которые установлены либо в а, либо в b (либо одновременно).

Пример:

<? php

8 4 2 1

$a=13;// в двоичном виде 1101(разряд 8+разряд4+разряд1=13)

8 4 2 1

$b=5;// в двоичном виде 0101(разряд 4+разряд1=5)

$c=$a|$b; //13|5(1101 | 0101) =13 (1101)=разряд8+разряд4+разряд1=13

echo"$c";// вывод полученного результата = 13 (1101)

?>

~ а - результат, у которого на месте единиц в а стоят нули, и наоборот.

Пример:

<?php

$c=~3;//в двоичном виде число 3=(0011), знак ~ переводит число в 32-ичную систему счисления 3=(00000000000000000000000000000011)

echo"$c";// вывод полученного результата = -4 т.е. запомните! любое положительное число увеличивается на 1 и переводится в отрицательное число.

?>

а << b — результат — число, полученное поразрядным сдвигом, а на b

битов влево.

Пример:

<?php

$a=3;// в двоичном виде число 3=(0011)

$b=2; //в двоичном виде число 2=(0010), число 2 показывает на сколько разряд 1 будет сдвинуто. Если 2, то на 2 позиции.

$c=$a<<$b;

echo"$c";//вывод полученного результата = 12(1100)

?>

а >> b — аналогично, только вправо.

Пример:

<?php

$a=3;

$b=2;

$c=$a>>$b;

echo"$c";

?>// Аналогично, только вправо!!!!

6.Операции сравнения

Это в своем роде уникальные операции, потому что независимо от типов своих аргументов они всегда возвращают одно из двух: false или true.

Операции сравнения позволяют сравнивать два значения между собой и, если условие выполнено, возвращают true, а если нет — false.

а == b — истина, если, а равно b.

а != b — истина, если, а не равно b.

а < b — истина, если, а меньше b.

а > b — истина, если, а больше b.

а <= b — истина, если, а меньше либо равно b.

а >= b — истина, если, а больше либо равно b.

Следует отметить, что в РНР сравнивать можно только скалярные (то есть строки и числа) переменные. Для массивов и объектов этого делать нельзя. Их даже нельзя сравнивать на равенство (при помощи оператора ==), но при выполнении такой операции РНР не выдает предупреждения. Так что, удивившись как-то раз, почему это два совершенно разных массива при сравнении их с помощью == оказываются вдруг одинаковыми, вспомните, что перед сравнением оба операнда преобразуются в слово Array, которое потом и сравнивается.