Unary operation

From Wikipedia, the free encyclopedia

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 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. 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.


Absolute value[edit]

Obtaining the absolute value of a number is a unary operation. This function is defined as [3] where is the absolute value of .


This is used to find the negative value of a single number. This is technically not a unary operation as is just short form of .[4] Here are some examples:

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:

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:

Technically, there is also a unary + operation but it is not needed since we assume an unsigned value to be positive:

The unary + operation does not change the sign of a negative operation:

In this case, a unary negation is needed to change the sign:


In trigonometry, the trigonometric functions, such as , , and , 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[edit]


In JavaScript, these operators are unary:[5]

C family of languages[edit]

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

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}


  • 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[edit]


  1. ^ Weisstein, Eric W. "Unary Operation". mathworld.wolfram.com. Retrieved 2020-07-29.
  2. ^ Weisstein, Eric W. "Binary Operation". mathworld.wolfram.com. Retrieved 2020-07-29.
  3. ^ "Absolute value".
  4. ^ "Negative number".
  5. ^ "Unary Operators".
  6. ^ "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.
  7. ^ "Unary Operators - C Tutorials - Sanfoundry". www.sanfoundry.com.

External links[edit]