Unary operator

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

In mathematics, a unary operation is an operation with only one operand, i.e. an operation with a single input, or in other words, a function of one variable (for the terminology see also operators versus functions).

Common notations are prefix notation (+, −, not), postfix notation (factorial: n!), and functional notation (sin x or sin (x)). In the case of the square root a horizontal bar over the argument extending the square root sign can indicate the extent of the argument, so that parentheses can be dispensed with.

Contents

Unary Negative and Positive

As unary operations have only one oprand they are evaluated before other operations containing them are. In this example using addition:

3 − −2

Here the first '−' represents the binary subtraction operation, while the second '−' represents the unary negation of the two, a clearer way to write the expression would be:

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 the case a unary negative is needed to change the sign:

(−(−2)) = (+2)

Examples of Unary operations

Computer programming

Unary operators (called "monadic" in APL) are also used in programming languages.

C family of languages

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

Other languages

Windows PowerShell

  • Increment: ++, ++
  • Decrement: −−, −−
  • Positive: +
  • Negative:
  • Logical negation: -not
  • Invoke in current scope: .
  • Invoke in new scope: &
  • Cast: [type-name]

Usage of Incremental and Decremental operators

In most programming languages, incremental and decremental operators can be preffixed and suffixed to the variable. The preffix and suffix can be useful when manipulating variables. A suffixed operation increments the value after it has been called.

Example 1

int i = 0;
printf (" %d \n %d ", i++, i++);

Output:

1
0

Whereas a prefixed operation will increment the value before it has been called.

Example 2

int i = 0;
printf (" %d \n %d ", ++i, ++i);

Output:

2
1

The usage of incremental and decremental operators is usually found in For loops.

$ in the Unix shell

In Unix shell scripting (usually bash) and other utilities such as Makefiles, the "$" is a unary operator that translates the name of a variable into its contents. Many people confuse this with a sigil (as used in PHP/Perl), but it is properly a unary operator for lexical indirection, similar to the * indirection operator for pointers in C. (This is why bash only uses $ when "reading" from variables, but not when "writing" to them.)

See also

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net