Unary operation
Template:Short description Template:More citations needed
In mathematics, a unary operation is an operation with only one operand, i.e. a single input.<ref>Template:Cite web</ref> This is in contrast to binary operations, which use two operands.<ref>Template:Cite web</ref> An example is any function Template:Tmath, where Template:Mvar is a set; the function Template:Tmath is a unary operation on Template:Mvar.
Common notations are prefix notation (e.g. ¬, −), postfix notation (e.g. factorial Template:Math), functional notation (e.g. Template:Math or Template:Math), and superscripts (e.g. transpose Template:Math). Other notations exist as well, for example, in the case of the square root, a horizontal bar extending the square root sign over the argument can indicate the extent of the argument.
Examples
Absolute value
Obtaining the absolute value of a number is a unary operation. This function is defined as <math>|n| = \begin{cases} n, & \mbox{if } n\geq0 \\ -n, & \mbox{if } n<0 \end{cases}</math> where <math>|n|</math> is the absolute value of <math>n</math>.
Negation
Negation is used to find the negative value of a single number. Here are some examples:
- <math>-(3) = -3</math>
- <math>-( -3) = 3</math>
Factorial
For any positive integer n, the product of the integers less than or equal to n is a unary operation called factorial. In the context of complex numbers, the gamma function is a unary operation extension of factorial.
Trigonometry
In trigonometry, the trigonometric functions, such as <math>\sin</math>, <math>\cos</math>, and <math>\tan</math>, can be seen as unary operations. This is because it is possible to provide only one term as input for these functions and retrieve a result. By contrast, binary operations, such as addition, require two different terms to compute a result.
Examples from programming languages
Below is a table summarizing common unary operators along with their symbols, description, and examples:<ref name="summarytable">Template:Cite web</ref>
| Operator | Symbol | Description | Example |
|---|---|---|---|
| Increment | ++ |
Increases the value of a variable by 1 | x = 2; ++x; // x is now 3
|
| Decrement | -- |
Decreases the value of a variable by 1 | y = 10; --y; // y is now 9
|
| Unary Plus | + |
Indicates a positive value | a = -5; b = +a; // b is -5
|
| Unary Minus | - |
Indicates a negative value | c = 4; d = -c; // d is -4
|
| Logical NOT | ! |
Negates the truth value of a Boolean expression | flag = true; result = !flag; // result is false
|
| Bitwise NOT | ~ |
Bitwise negation, flips the bits of an integer | num = 5; result = ~num; // result is -6
|
JavaScript
In JavaScript, these operators are unary:<ref>Template:Cite web</ref>
- Increment:
++x,x++ - Decrement:
--x,x-- - Positive:
+x - Negative:
-x - Ones' complement:
~x - Logical negation:
!x
C family of languages
In the C family of languages, the following operators are unary:<ref>Template:Cite book</ref><ref>Template:Cite web</ref>
- Increment:
++x,x++ - Decrement:
--x,x-- - Address:
&x - Indirection:
*x - Positive:
+x - Negative:
-x - Ones' complement:
~x - Logical negation:
!x - Sizeof:
sizeof x, sizeof(type-name) - Cast:
(type-name) cast-expression
Unix shell (Bash)
In the Unix shell (Bash/Bourne Shell), e.g., the following operators are unary:<ref name="unixbash">Template:Cite web</ref><ref name="unarybash">Template:Cite web</ref>
- Pre and Post-Increment:
++$x,$x++ - Pre and Post-Decrement:
--$x,$x-- - Positive:
+$x - Negative:
-$x - Logical negation:
!$x - Simple expansion:
$x - Complex expansion:
${#x}
PowerShell
In the PowerShell, the following operators are unary:<ref name="powershell">Template:Cite web</ref>
- Increment:
++$x,$x++ - Decrement:
--$x,$x-- - Positive:
+$x - Negative:
-$x - Logical negation:
!$x - Invoke in current scope:
.$x - Invoke in new scope:
&$x - Cast:
[type-name] cast-expression - Cast:
+$x - Array:
,$array
See also
- Unary function
- Binary operation
- Iterated binary operation
- Binary function
- Ternary operation
- Arity
- Operation (mathematics)
- Operator (programming)