my-server
← Wiki Redirected from Unary operator

Unary operation

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 any function , where is a set; the function is a unary operation on .

Common notations are prefix notation (e.g. ¬, −), postfix notation (e.g. factorial ), functional notation (e.g. or ), and superscripts (e.g. transpose ). 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 where is the absolute value of .

Negation

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

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

Below is a table summarizing common unary operators along with their symbols, description, and examples:

JavaScript

In JavaScript, these operators are unary:

  • Increment: <code>++<span style="color:gray;">x</span></code>, <code><span style="color:gray;">x</span>++</code>
  • Decrement: <code>--<span style="color:gray;">x</span></code>, <code><span style="color:gray;">x</span>--</code>
  • Positive: <code>+<span style="color:gray;">x</span></code>
  • Negative: <code>-<span style="color:gray;">x</span></code>
  • Ones' complement: <code>~<span style="color:gray;">x</span></code>
  • Logical negation: <code>!<span style="color:gray;">x</span></code>

C family of languages

In the C family of languages, the following operators are unary:

  • Increment: <code>++<span style="color:gray;">x</span></code>, <code><span style="color:gray;">x</span>++</code>
  • Decrement: <code>--<span style="color:gray;">x</span></code>, <code><span style="color:gray;">x</span>--</code>
  • Address: <code>&<span style="color:gray;">x</span></code>
  • Indirection: <code>*<span style="color:gray;">x</span></code>
  • Positive: <code>+<span style="color:gray;">x</span></code>
  • Negative: <code>-<span style="color:gray;">x</span></code>
  • Ones' complement: <code>~<span style="color:gray;">x</span></code>
  • Logical negation: <code>!<span style="color:gray;">x</span></code>
  • Sizeof: <code>sizeof <span style="color:gray;">x</span>, sizeof(<span style="color:gray;">type-name</span>)</code>
  • Cast: <code>(type-name) <span style="color:gray;">cast-expression</span></code>

Unix shell (Bash)

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

  • Pre and Post-Increment: <code>++<span style="color:gray;">$x</span></code>, <code><span style="color:gray;">$x</span>++</code>
  • Pre and Post-Decrement: <code>--<span style="color:gray;">$x</span></code>, <code><span style="color:gray;">$x</span>--</code>
  • Positive: <code>+<span style="color:gray;">$x</span></code>
  • Negative: <code>-<span style="color:gray;">$x</span></code>
  • Logical negation: <code>!<span style="color:gray;">$x</span></code>
  • Simple expansion: <code>$<span style="color:gray;">x</span></code>
  • Complex expansion: <code>${#<span style="color:gray;">x</span>}</code>

PowerShell

In the PowerShell, the following operators are unary:

  • Increment: <code>++<span style="color:gray;">$x</span></code>, <code><span style="color:gray;">$x</span>++</code>
  • Decrement: <code>--<span style="color:gray;">$x</span></code>, <code><span style="color:gray;">$x</span>--</code>
  • Positive: <code>+<span style="color:gray;">$x</span></code>
  • Negative: <code>-<span style="color:gray;">$x</span></code>
  • Logical negation: <code>!<span style="color:gray;">$x</span></code>
  • Invoke in current scope: <code>.<span style="color:gray;">$x</span></code>
  • Invoke in new scope: <code>&<span style="color:gray;">$x</span></code>
  • Cast: <code>[type-name] <span style="color:gray;">cast-expression</span></code>
  • Cast: <code>+<span style="color:gray;">$x</span></code>
  • Array: <code>,<span style="color:gray;">$array</span></code>

See also

References

External links