Главная страница » 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 Все права защищены. CodeFor.