Главная страница » C++ » 7. Коммутативная операция
В этом уроке мы рассмотрим основное понятие коммутативности, которое важно для понимания многих операций в программировании. Коммутативные операции — это операции, результат которых не изменяется при перестановке операндов. Применение этого свойства может сделать код более понятным и предсказуемым.
Операция называется коммутативной, если изменение порядка операндов не влияет на результат выполнения операции. В математике это часто встречается, например, в сложении и умножении:
Это свойство позволяет упростить многие вычисления и оптимизировать код.
В языке C++ коммутативными являются следующие бинарные операции:
+)*)|)&)
				
					#include 
int main() {
    int a = 5;
    int b = 10;
    // Операция сложения
    int sum1 = a + b;
    int sum2 = b + a;
    std::cout << "a + b = " << sum1 << std::endl;
    std::cout << "b + a = " << sum2 << std::endl;
    return 0;
}
  
				
			
		Результат:
				
					a + b = 15
b + a = 15
 
				
			
		В этом примере результат сложения двух чисел не изменяется, независимо от порядка их сложения.
				
					#include 
int main() {
    int a = 3;
    int b = 7;
    // Операция умножения
    int product1 = a * b;
    int product2 = b * a;
    std::cout << "a * b = " << product1 << std::endl;
    std::cout << "b * a = " << product2 << std::endl;
    return 0;
}
  
				
			
		Результат:
				
					a * b = 21
b * a = 21
 
				
			
		Здесь результат умножения чисел также не изменяется в зависимости от порядка переменных.
				
					#include 
int main() {
    int a = 6; // 0110 в двоичной системе
    int b = 9; // 1001 в двоичной системе
    // Операция побитового ИЛИ
    int result1 = a | b;
    int result2 = b | a;
    std::cout << "a | b = " << result1 << std::endl;
    std::cout << "b | a = " << result2 << std::endl;
    return 0;
}
  
				
			
		Результат:
				
					a | b = 15
b | a = 15
 
				
			
		Побитовое ИЛИ также является коммутативной операцией.
				
					#include 
int main() {
    int a = 12; // 1100 в двоичной системе
    int b = 7;  // 0111 в двоичной системе
    // Операция побитового И
    int result1 = a & b;
    int result2 = b & a;
    std::cout << "a & b = " << result1 << std::endl;
    std::cout << "b & a = " << result2 << std::endl;
    return 0;
}
  
				
			
		Результат:
				
					a & b = 4
b & a = 4
 
				
			
		Побитовое И также является коммутативной операцией.
Некоторые операции не являются коммутативными. Например, вычитание и деление:
				
					#include 
int main() {
    int a = 10;
    int b = 5;
    // Операция вычитания
    int result1 = a - b;
    int result2 = b - a;
    std::cout << "a - b = " << result1 << std::endl;
    std::cout << "b - a = " << result2 << std::endl;
    return 0;
}
  
				
			
		Результат:
				
					a - b = 5
b - a = -5
 
				
			
		В этом примере порядок операндов меняет результат.
Понимание коммутативных операций помогает избежать логических ошибок и оптимизировать код. Коммутативные операции, такие как сложение и умножение, упрощают вычисления и позволяют легко предсказать результаты. Знание о том, какие операции являются коммутативными, а какие нет, поможет вам лучше ориентироваться в программировании и избегать распространённых ошибок.
Напишите программу на C++, которая:
Примерный код:
				
					#include 
int main() {
    int a, b;
    std::cout << "Введите первое число: ";
    std::cin >> a;
    std::cout << "Введите второе число: ";
    std::cin >> b;
    // Операции в порядке ввода
    std::cout << "a + b = " << a + b << std::endl;
    std::cout << "a * b = " << a * b << std::endl;
    std::cout << "a & b = " << (a & b) << std::endl;
    std::cout << "a | b = " << (a | b) << std::endl;
    // Операции в обратном порядке
    std::cout << "b + a = " << b + a << std::endl;
    std::cout << "b * a = " << b * a << std::endl;
    std::cout << "b & a = " << (b & a) << std::endl;
    std::cout << "b | a = " << (b | a) << std::endl;
    return 0;
}
  
				
			
		Этот пример поможет вам лучше понять работу коммутативных операций и их влияние на результаты вычислений.
Телефон: +375 33 910-08-92 
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
 
													Язык сайта: