Бинарная операция
Бинарная операция (от лат. bi — два) — математическая операция, принимающая два аргумента и возвращающая один результат (то есть с арностью два).
Содержание
Определение
Пусть
— тройка непустых множеств. Бинарной операцией или двуме́стной опера́цией в паре
со значениями в
называется отображение
, где 
Если
, то действие называется внутренним, если
или
— внешним. В частности, любое внутреннее действие является внешним.
Замечание
Бинарную операцию принято обозначать знаком действия, который ставится между операндами (инфиксная форма записи). Например, для произвольной бинарной операции
результат её применения к двум элементам
и
записывается в виде
.
Это не значит, что не используются другие формы записи бинарных операций. Существуют и другие виды записи:
- префиксная (польская запись) —
; - постфиксная (обратная польская запись) —
.
Типы бинарных операций
Коммутативная операция

Бинарная операция называется коммутативной, если её результат не зависит от перестановки операндов, то есть

Ассоциативная операция

Бинарная операция называется ассоциативной, если

Для ассоциативной операции
результат вычисления
не зависит от порядка вычисления (расстановки скобок), и потому позволяется опускать скобки в записи. Для неассоциативной операции выражение
при
однозначно не определено.
Альтернативная операция

Бинарная операция называется альтернати́вной если
и
.
Примеры
Примерами бинарных операций могут служить сложение, умножение и вычитание на поле вещественных чисел. Сложение и умножение чисел являются коммутативными и ассоциативными операциями, а вычитание — нет.
Записи
Мультипликативная запись
Если абстрактную бинарную операцию на
называют умноже́нием, то её результат для элементов
называют их произведе́нием и обозначают
или
. В этом случае нейтральный элемент
, то есть элемент удовлетворяющий равенствам

называется едини́чным элеме́нтом относительно выбранной бинарной операции.
Аддитивная запись
Если бинарную операцию называют сложе́нием, то образ пары элементов
называют су́ммой и обозначают
. Обычно, если бинарную операцию называют сложением, то она предполагается коммутативной. Нейтральный элемент в аддитивной записи обозначают символом 0, называют нулевы́м элеме́нтом и пишут

Обратная операция
Если операция обладает биективностью, то у неё существуют обратные операции. Для бинарной операции может быть до двух обратных операций (левая и правая), в случае коммутативной операции — они совпадают.
Теорема 1
Для любой бинарной операции, существует не более одного нейтрального элемента
Теорема 2
Если бинарная операция ассоциативна, то для каждого элемента существует не более одного обратного
См. также
Литература
- Цыпкин А. Г. Справочник по математике для средних и учебных заведений. — М.: Наука, 1988. — 430 с. — ISBN 5-02-013792-8.
- Бинарная операция
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое «Бинарная операция» в других словарях:
бинарная операция — двуместная операция Операция, выполняемая над двумя аргументами. Например, сложение аргументов "х", "у". Кроме двуместных выполняются и одноместные операции. Двуместную операцию также называют бинарной. [Гипертекстовый… … Справочник технического переводчика
Операция (математика) — У этого термина существуют и другие значения, см. Операция. Операция отображение, ставящее в соответствие одному или нескольким элементам множества (аргументам) другой элемент (значение). Термин «операция» как правило применяется к… … Википедия
Коммутативная операция — Первое известное использование термина коммутативность … Википедия
Унарная операция — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка… … Википедия
Ассоциативная операция — Ассоциативная операция это бинарная операция , обладающая ассоциативностью (лат. associatio соединение), или сочетательностью: для любых элементов . Для ассоциативной операции результат вычисления не зависит от порядка вычисления … Википедия
Логическая операция — В логике логическими операциями называют действия, вследствие которых порождаются новые понятия, возможно с использованием уже существующих. В более узком, формализованном смысле, понятие логической операции используется в математической логике и … Википедия
БЭРА УМНОЖЕНИЕ — бинарная операция на множестве классов эквивалентных расширений модулей; предложена Р. Бэром [1]. Пусть Л и В произвольные модули. Расширением Ас ядром Вназ. точная последовательность: Расширение (1) наз. эквивалентным расширению если существует… … Математическая энциклопедия
Антикоммутативность — Бинарная операция, определённая в кольце, называется антикоммутативной, если в кольце выполняется тождество . Из этого вытекает тождество . Если в кольце не является делителем нуля, тогда первое тождество следует из второго, и они равносильны. Но … Википедия
Битовые операции — Не следует путать с булевой функцией. Битовая операция в программировании некоторые операции над цепочками битов. В программировании, как правило, рассматриваются лишь некоторые виды этих операций: логические побитовые операции и… … Википедия
Калькулятор — У этого термина существуют и другие значения, см. Калькулятор (значения). Современный инженерный калькулятор Калькулятор … Википедия
Бинарная операция
В математике , A бинарная операция или двоично — операция представляет собой вычисление , которое сочетает в себе два элемента (называемые операнды ) , чтобы произвести другой элемент. Более формально, бинарная операция является операцией по арности два.
Более конкретно, бинарная операция над набором — это операция, в которой два домена и кодомен являются одним и тем же набором. Примеры включают знакомые арифметические операции из сложения , вычитания , умножения . Другие примеры легко найти в различных областях математики, таких как сложение векторов , умножение матриц и групповое сопряжение .
Операция арности два, которая включает несколько наборов, иногда также называется бинарной операцией . Например, скалярное умножение в векторных пространствах принимает скаляр и вектор для получения вектора, и скалярное произведение принимает два вектора для получения скаляра. Такие бинарные операции можно назвать просто бинарными функциями .
Бинарные операции являются краеугольным камнем большинства алгебраических структур , которые изучаются в алгебре , в частности в полугруппах , моноидах , группах , кольцах , полях и векторных пространствах .
СОДЕРЖАНИЕ
Терминология [ править ]
Точнее, бинарная операция на множестве S — это отображение элементов декартового произведения S × S в S : [1] [2] [3]
Поскольку результат выполнения операции над парой элементов S снова является элементом S , операция называется закрытой (или внутренней ) бинарной операцией над S (или иногда выражается как имеющая свойство замыкания ). [4]
Если f не функция , а частичная функция , то f называется частичной бинарной операцией . Например, деление действительных чисел является частичной бинарной операцией, потому что нельзя делить на ноль : a / 0 не определено для каждого действительного числа a . В обеих универсальной алгебре и модели теории , бинарные операции должны быть определены на всех S × S .
Иногда, особенно в информатике , термин двоичная операция используется для обозначения любой двоичной функции .
Свойства и примеры [ править ]
Типичными примерами бинарных операций являются сложение (+) и умножение (×) чисел и матриц, а также композиция функций на одном наборе. Например,
- На множестве действительных чисел R , F ( , б ) = + Ь является бинарной операцией , так как сумма двух действительных чисел является действительным числом.
- На множестве натуральных чисел N , F ( , б ) = + Ь является бинарной операцией , так как сумма двух натуральных чисел является натуральным числом. Это другая бинарная операция, чем предыдущая, поскольку наборы разные.
- На множестве M (2, R ) матриц 2 × 2 с действительными элементами f ( A , B ) = A + B является бинарной операцией, поскольку сумма двух таких матриц является матрицей 2 × 2 .
- На множестве M (2, R ) матриц 2 × 2 с действительными элементами f ( A , B ) = AB является бинарной операцией, поскольку произведение двух таких матриц является матрицей 2 × 2 .
- Для заданного множества С , пусть S множество всех функций часов : С → С . Определим f : S × S → S как f ( h1 , h2 ) ( c ) = ( h1 ∘ h2 ) ( c ) = h1 ( h2 ( c )) для всех c ∈ C , композиция две функции h1 и ч2 в S . Тогда f является бинарной операцией, поскольку композиция двух функций снова является функцией на множестве C (то есть членом S ).
Многие бинарные операции, представляющие интерес как для алгебры, так и для формальной логики, коммутативны , удовлетворяя f ( a , b ) = f ( b , a ) для всех элементов a и b в S , или ассоциативны , удовлетворяя f ( f ( a , b ), c ) = f ( a , f ( b , c )) для всех a , b и с в S . Многие также имеют элементы идентичности и обратные элементы .
Первые три приведенных выше примера коммутативны, а все приведенные выше примеры ассоциативны.
На множестве действительных чисел R , вычитание , то есть F ( , б ) = а — Ь , является бинарной операцией , которая не является коммутативной , так как, в общем, — б ≠ б — . Он также не ассоциативен, поскольку, вообще говоря, a — ( b — c ) ≠ ( a — b ) — c ; например, 1 — (2-3) = 2, но (1-2) — 3 = −4 .
На множестве натуральных чисел N , бинарная операция возведения в степень , F ( , б ) = а б , не является коммутативным , так как, в б ≠ б (ср Уравнение X = Y ), а также не ассоциативно , так как F ( f ( a , b ), c ) ≠ f ( a , f ( b , c )) . Например, при a = 2 , b = 3 и c = 2 , f (2 3 , 2) = f (8,2) = 8 2 = 64 , но f (2,3 2 ) = f (2,9) = 2 9 = 512 . Путем изменения заданного N к множеству целых чисел Z , эта бинарная операция становится частичной бинарной операцией , так как он теперь не определен , когда = 0 и Ь любое отрицательное целое число. Для любого набора эта операция имеет правильную идентичность (которая равна 1), поскольку f ( a , 1) = a для всех a в наборе, что не является тождеством (двустороннее тождество), поскольку f (1, b ) ≠ b в общем случае.
Деление (/), частичная бинарная операция над множеством действительных или рациональных чисел, не является коммутативной или ассоциативной. Тетрация (↑↑) как бинарная операция над натуральными числами не является коммутативной или ассоциативной и не имеет элемента идентичности.
Обозначение [ править ]
Бинарные операции часто записываются с использованием инфиксной записи, такой как a ∗ b , a + b , a · b или (путем сопоставления без символа) ab, а не с использованием функциональной записи формы f ( a , b ) . Полномочия обычно также записываются без оператора, но со вторым аргументом в виде надстрочного индекса .
Бинарные операции иногда используют префиксную или (вероятно, чаще) постфиксную нотацию, причем в обоих случаях не используются круглые скобки. Их также называют, соответственно, польской нотацией и обратной польской нотацией .
Пара и кортеж [ править ]
Бинарная операция ab зависит от упорядоченной пары ( a, b ) и, следовательно, ( ab ) c (где круглые скобки здесь означают, что сначала выполняются операции с упорядоченной парой ( a , b ), а затем обрабатываются ее результаты, используя упорядоченные пара (( ab ), c )), вообще говоря, зависит от упорядоченной пары (( a , b ), c ). Таким образом, в общем, неассоциативном случае бинарные операции могут быть представлены бинарными деревьями .
- Если операция ассоциативна, ( ab ) c = a ( bc ), то значение ( ab ) c зависит только от кортежа ( a , b , c ).
- Если операция коммутативная, ab = ba , то значение ( ab ) c зависит только от << a , b >, c >, где фигурные скобки обозначают мультимножества .
- Если операция является одновременно ассоциативной и коммутативной, то значение ( ab ) c зависит только от мультимножества < a , b , c >.
- Если операция ассоциативная, коммутативная и идемпотентная , aa = a , то значение ( ab ) c зависит только от множества< a , b , c >.
Бинарные операции как тернарные отношения [ править ]
Бинарная операция f на множестве S может рассматриваться как тернарное отношение на S , то есть набор троек ( a , b , f ( a, b )) в S × S × S для всех a и b в S .
Внешние бинарные операции [ править ]
Внешняя бинарная операция является двоичной функцией из K × S до S . Это отличается от бинарной операции над множеством в том смысле, что K не обязательно должно быть S ; его элементы приходят извне .
Примером внешней бинарной операции является скалярное умножение в линейной алгебре . Здесь K — поле, а S — векторное пространство над этим полем.
В качестве альтернативы внешняя бинарная операция может рассматриваться как действие ; K действует на S .
Скалярное произведение двух векторов отображение из S × S с K , где K является полем , и S представляет собой векторное пространство над K . От авторов зависит, считается ли это бинарной операцией.
5.2 – Арифметические операторы
В C++ есть два унарных арифметических оператора, плюс (+) и минус (-). Напоминаем, что унарные операторы – это операторы, которые принимают только один операнд.
| Оператор | Обозначение | Пример использования | Операция |
|---|---|---|---|
| Унарный плюс | + | +x | Значение x |
| Унарный минус | — | -x | Отрицательное значение x |
Оператор унарного минуса возвращает операнд, умноженный на -1 . Другими словами, если x = 5 , -x равно -5 .
Оператор унарного плюса возвращает значение операнда. Другими словами, +5 равно 5 , а +x равно x . Как правило, вам не нужно использовать этот оператор, поскольку он избыточен. Он был добавлен в основном для обеспечения симметрии с унарным оператором минус.
Для наилучшего эффекта оба этих оператора следует размещать непосредственно перед операндом (например, -x , а не — x ).
Не путайте оператор унарного минуса с оператором бинарного вычитания, в котором используется тот же символ. Например, в выражении x = 5 — -3; первый минус – это оператор бинарного вычитания, а второй – оператор унарного минуса.
Бинарные арифметические операторы
В C++ есть 5 бинарных арифметических операторов. Бинарные операторы – это операторы, которые принимают левый и правый операнды.
| Оператор | Обозначение | Пример использования | Операция |
|---|---|---|---|
| Сложение | + | x + y | x плюс y |
| Вычитание | — | x — y | x минус y |
| Умножение | * | x * y | x , умноженное на y |
| Деление | / | x / y | x , деленное на y |
| Остаток от деления | % | x % y | остаток от деления x на y |
Операторы сложения, вычитания и умножения работают так же, как и в реальной жизни, без каких-либо оговорок.
Деление и остаток от деления требуют дополнительных пояснений. О делении мы поговорим ниже, а об остатке от деления – в следующем уроке.
Целочисленное деление и деление с плавающей запятой
Проще всего представить себе, что оператор деления имеет два разных «режима».
Если один (или оба) операнда являются значениями с плавающей точкой, оператор деления выполняет деление с плавающей точкой. Деление с плавающей точкой возвращает значение с плавающей точкой, и дробная часть сохраняется. Например, 7.0 / 4 = 1.75 , 7 / 4.0 = 1.75 и 7.0 / 4.0 = 1.75 . Как и во всех арифметических операциях с плавающей точкой, здесь могут возникать ошибки округления.
Если оба операнда являются целыми числами, оператор деления вместо этого выполняет целочисленное деление. Целочисленное деление отбрасывает любые дробные части и возвращает целочисленное значение. Например, 7 / 4 = 1 , потому что дробная часть результата отбрасывается. Точно так же -7 / 4 = -1 , потому что дробная часть опускается.
Предупреждение
До C++11 целочисленное деление с отрицательным операндом могло округляться в большую или меньшую сторону. Таким образом, -5 / 3 могло дать результат -1 или -2 . Это было исправлено в C++11, где дробная часть всегда отбрасывается (округляется до 0).
Использование static_cast<> для деления с плавающей точкой с целочисленными значениями
Сказанное выше поднимает вопрос: если у нас есть два целых числа и мы хотим разделить их без потери дробной части, как нам это сделать?
В уроке «4.11 – Символы» мы показали, как можно использовать оператор static_cast<> для преобразования значения char в целочисленный тип, чтобы оно печаталось как целое число, а не как символ.
Аналогичным образом мы можем использовать static_cast<> для преобразования значения целочисленного типа в число с плавающей точкой, чтобы мы, вместо целочисленного деления, смогли выполнить деление с плавающей точкой. Рассмотрим следующий код:
Приведенный выше пример показывает, что если любой из операндов является числом с плавающей точкой, результатом будет деление с плавающей точкой, а не целочисленное деление.
Деление на ноль
Попытка разделить на 0 (или 0.0) обычно приводит к сбою программы, так как результаты математически не определены!
Это работает, но немного неудобно и требует для выполнения двух операторов ( operator+ и operator= ).
Поскольку написание таких инструкций, как x = x + 4 , очень распространено, C++ для удобства предоставляет пять арифметических операторов присваивания. Вместо того, чтобы писать x = x + 4 , вы можете написать x += 4 . Вместо x = x * y вы можете написать x *= y .