# Unary operation

In mathematics, a unary operation is an operation with only one operand, i.e. a single input.[1] This is in contrast to binary operations, which use two operands.[2] An example is any function ${\displaystyle f:A\rightarrow A}$, where A is a set. The function ${\displaystyle f}$ is a unary operation on A.

Common notations are prefix notation (e.g. ¬, ), postfix notation (e.g. factorial n!), functional notation (e.g. sinx 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

### Absolute value

Obtaining the absolute value of a number is a unary operation. This function is defined as ${\displaystyle |n|={\begin{cases}n,&{\mbox{if }}n\geq 0\\-n,&{\mbox{if }}n<0\end{cases}}}$ where ${\displaystyle |n|}$ is the absolute value of ${\displaystyle n}$.

### Negation

This is used to find the negative value of a single number. Here are some examples:

${\displaystyle -(3)=-3}$
${\displaystyle -(-3)=3}$

### 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 an unary operation extension of factorial.

### Trigonometry

In trigonometry, the trigonometric functions, such as ${\displaystyle \sin }$, ${\displaystyle \cos }$, and ${\displaystyle \tan }$, 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:[3]

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:[4]

#### C family of languages

In the C family of languages, the following operators are unary:[5][6]

#### Unix shell (Bash)

In the Unix shell (Bash/Bourne Shell), e.g., the following operators are unary:[7][8]

• 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:[9] • 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