Elementor Header #8

8. Коммутативная операция

1. Введение в коммутативные операции

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

В этом уроке мы рассмотрим, что такое коммутативные операции, какие операторы в PHP являются коммутативными, а также приведем примеры их использования.

2. Что такое коммутативные операции?

Коммутативность — это свойство бинарной операции, при котором результат операции не зависит от порядка операндов. Если для двух операндов a и b операция * является коммутативной, то выражения a * b и b * a будут давать одинаковый результат.

Математическое определение:

Для операции *:

				
					a * b = b * a

				
			

Если это равенство выполняется для всех значений a и b, то операция * называется коммутативной.

3. Коммутативные операторы в PHP

В PHP, как и в математике, некоторые операции являются коммутативными. Основные коммутативные операторы в PHP включают:

  • Сложение (+): a + b = b + a
  • Умножение (*): a * b = b * a
  • Побитовое И (&): a & b = b & a
  • Побитовое ИЛИ (|): a | b = b | a
  • Побитовое исключающее ИЛИ (^): a ^ b = b ^ a

4. Примеры коммутативных операций

4.1 Сложение

Операция сложения чисел является коммутативной, поэтому изменение порядка операндов не изменит результат.

Пример:

				
					<?php
    $a = 5;
    $b = 10;

    $result1 = $a + $b;
    $result2 = $b + $a;

    echo $result1; // Выводит 15
    echo "<br>";
    echo $result2; // Также выводит 15
?>

				
			

4.2 Умножение

Операция умножения также является коммутативной. Результат умножения чисел не зависит от порядка множителей.

Пример:

				
					<?php
    $a = 4;
    $b = 7;

    $result1 = $a * $b;
    $result2 = $b * $a;

    echo $result1; // Выводит 28
    echo "<br>";
    echo $result2; // Также выводит 28
?>

				
			

4.3 Побитовое И

Операция побитового И (&) также коммутативна. Она выполняет логическое И над соответствующими битами двух чисел.

Пример:

				
					<?php
    $a = 6; // 110 в двоичном виде
    $b = 3; // 011 в двоичном виде

    $result1 = $a & $b;
    $result2 = $b & $a;

    echo $result1; // Выводит 2 (010 в двоичном виде)
    echo "<br>";
    echo $result2; // Также выводит 2
?>

				
			

4.4 Побитовое ИЛИ

Операция побитового ИЛИ (|) также является коммутативной. Она выполняет логическое ИЛИ над соответствующими битами двух чисел.

Пример:

				
					<?php
    $a = 6; // 110 в двоичном виде
    $b = 3; // 011 в двоичном виде

    $result1 = $a | $b;
    $result2 = $b | $a;

    echo $result1; // Выводит 7 (111 в двоичном виде)
    echo "<br>";
    echo $result2; // Также выводит 7
?>

				
			

4.5 Побитовое исключающее ИЛИ

Операция побитового исключающего ИЛИ (^) является коммутативной. Она выполняет операцию XOR над соответствующими битами двух чисел.

Пример:

				
					<?php
    $a = 6; // 110 в двоичном виде
    $b = 3; // 011 в двоичном виде

    $result1 = $a ^ $b;
    $result2 = $b ^ $a;

    echo $result1; // Выводит 5 (101 в двоичном виде)
    echo "<br>";
    echo $result2; // Также выводит 5
?>

				
			

5. Некоммутативные операторы

Стоит отметить, что не все операции являются коммутативными. Например, вычитание (-), деление (/), и операции сравнения (>, <, == и др.) зависят от порядка операндов, и изменение порядка может привести к разным результатам.

Пример некоммутативной операции:

				
					<?php
    $a = 10;
    $b = 5;

    $result1 = $a - $b; // Выводит 5
    $result2 = $b - $a; // Выводит -5

    echo $result1;
    echo "<br>";
    echo $result2;
?>

				
			

Заключение

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

6. Тестовое задание

Для закрепления материала выполните следующее задание:

  1. Напишите PHP-скрипт, который:
    • Создаёт две переменные с числовыми значениями.
    • Выполняет коммутативные операции сложения, умножения и побитового И.
    • Сравнивает результаты операций при изменении порядка операндов.
    • Выводит результаты на экран и поясняет, являются ли операции коммутативными.

Пример выполнения задания:

				
					<?php
    $x = 12;
    $y = 8;

    // Сложение
    $sum1 = $x + $y;
    $sum2 = $y + $x;

    echo "Сложение: $sum1 и $sum2<br>"; // Оба результата равны

    // Умножение
    $product1 = $x * $y;
    $product2 = $y * $x;

    echo "Умножение: $product1 и $product2<br>"; // Оба результата равны

    // Побитовое И
    $and1 = $x & $y;
    $and2 = $y & $x;

    echo "Побитовое И: $and1 и $and2<br>"; // Оба результата равны
?>

				
			

Убедитесь, что ваш код корректно проверяет коммутативность операций. Удачи в выполнении задания!

logo