# Unary operation

(Redirected from Unary operator)

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 : AA, 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.

## Examples

### Unary negative and positive

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

In trigonometry the functions ${\displaystyle sin(x)}$, ${\displaystyle cos(x)}$, ${\displaystyle tan(x)}$, 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

#### C family of languages

In the C family of languages, the following operators are unary:[1][2]

#### Unix Shell (Bash)

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

• 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`