Unary operation
This article needs additional citations for verification. (March 2010) (Learn how and when to remove this template message) |
In mathematics, a unary operation is an operation with only one operand, i.e. a single input. This is in contrast to binary operations, which use two operands. An example is the function f : A → A, where A is a set. The function f is a unary operation on A.
Common notations are prefix notation (e.g. +, −, ¬), postfix notation (e.g. factorial n!), functional notation (e.g. sin x or sin(x)), and superscripts (e.g. transpose AT). 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.
Contents
Examples[edit]
Unary negative and positive[edit]
As unary operations have only one operand they are evaluated before other operations containing them. Here is an example using negation:
- 3 − −2
Here, the first '−' represents the binary subtraction operation, while the second '−' represents the unary negation of the 2 (or '−2' could be taken to mean the integer −2). Therefore, the expression is equal to:
- 3 − (−2) = 5
Technically there is also a unary positive but it is not needed since we assume a value to be positive:
- (+2) = 2
Unary positive does not change the sign of a negative operation:
- (+(−2)) = (−2)
In this case a unary negative is needed to change the sign:
- (−(−2)) = (+2)
Trigonometry[edit]
In trigonometry the functions , , , and the other trigonometric functions are unary operations. This is because it is possible to input only one term with the operation and retrieve a result, compared with operations, such as addition, where two different terms are needed to compute a result.
Examples from programming languages[edit]
C family of languages[edit]
In the C family of languages, the following operators are unary:[1][2]
- 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)[edit]
In the Unix/Linux shell (bash/sh), '$' is a unary operator when used for parameter expansion, replacing the name of a variable by its (sometimes modified) value. For example:
- Simple expansion:
$x
- Complex expansion:
${#x}
Windows PowerShell[edit]
- Increment:
++$x
,$x++
- Decrement:
−−$x
,$x−−
- Positive:
+$x
- Negative:
−$x
- Logical negation:
-not $x
- Invoke in current scope:
.$x
- Invoke in new scope:
&$x
- Cast:
[type-name] cast-expression
- Cast:
+$x
- Array:
,$array
See also[edit]
References[edit]
- ^ "Chapter 5. Expressions and Operators". C/C++ Language Reference. www-01.ibm.com. Version 6.0. p. 109. Archived from the original on 2012-10-16.
- ^ "Unary Operators - C Tutorials - Sanfoundry". www.sanfoundry.com.
- Matt Insall. "Unary Operation". MathWorld.