Jump to content

Unary operation

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 41.89.6.4 (talk) at 15:51, 25 February 2016 (Windows PowerShell). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In mathematics, a unary operation is an operation with only one operand, i.e. a single input. 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. +, −, not), 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.

Unary negative and positive

As unary operations have only one operand they are evaluated before other operations containing them in common mathematics (because certain programming languages do not abide by such rules)[citation needed]. 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)

Examples from programming languages

C family of languages

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

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}

Other languages

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

See also

References

  • Matt Insall. "Unary Operation". MathWorld.