В математике унарная операция — это операция только с одним операндом , т. е. одним входом. [1] Это отличается от бинарных операций , которые используют два операнда. [2] Примером может служить любая функция , где A — множество . Функция является унарная операция над A.
Распространенными обозначениями являются префиксное обозначение (например, ¬ , − ), постфиксное обозначение (например, факториал n ! ), функциональное обозначение (например, sin x или sin( x ) ) и надстрочные индексы (например, транспонирование A T ). Существуют и другие обозначения, например, в случае квадратного корня горизонтальная черта , расширяющая знак квадратного корня над аргументом, может указывать на размер аргумента.
Получение абсолютного значения числа — это унарная операция. Эта функция определяется как , где — абсолютное значение .
Это используется для нахождения отрицательного значения одного числа. Вот несколько примеров:
Для любого положительного целого числа n произведение целых чисел, меньших или равных n, является унарной операцией, называемой факториалом . В контексте комплексных чисел гамма -функция является расширением унарной операции факториала.
В тригонометрии тригонометрические функции , такие как , и , можно рассматривать как унарные операции. Это связано с тем, что для этих функций можно предоставить только один термин в качестве входных данных и получить результат. Напротив, бинарные операции, такие как сложение , требуют двух различных терминов для вычисления результата.
Ниже приведена таблица, обобщающая общие унарные операторы вместе с их символами, описанием и примерами: [3]
В JavaScript эти операторы являются унарными: [4]
++x
x++
--x
x--
+x
-x
~x
!x
В семействе языков C следующие операторы являются унарными: [5] [6]
++x
x++
--x
x--
&x
*x
+x
-x
~x
!x
sizeof x, sizeof(type-name)
(type-name) cast-expression
В оболочке Unix ( Bash / Bourne Shell ), например, следующие операторы являются унарными: [7] [8]
++$x
$x++
--$x
$x--
+$x
-$x
!$x
$x
${#x}
В PowerShell следующие операторы являются унарными: [9]
++$x
$x++
--$x
$x--
+$x
-$x
!$x
.$x
&$x
[type-name] cast-expression
+$x
,$array