Template:Short description Template:More citations needed
In mathematics, a unary operation is an operation with only one operand, i.e. a single input.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> This is in contrast to binary operations, which use two operands.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> An example is any function Template:Tmath, where Template:Mvar is a set; the function Template:Tmath is a unary operation on Template:Mvar.
Common notations are prefix notation (e.g. ¬, −), postfix notation (e.g. factorial Template:Math), functional notation (e.g. Template:Math or Template:Math), and superscripts (e.g. transpose Template:Math). 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.
ExamplesEdit
Absolute valueEdit
Obtaining the absolute value of a number is a unary operation. This function is defined as <math>|n| = \begin{cases} n, & \mbox{if } n\geq0 \\ -n, & \mbox{if } n<0 \end{cases}</math> where <math>|n|</math> is the absolute value of <math>n</math>.
NegationEdit
Negation is used to find the negative value of a single number. Here are some examples:
- <math>-(3) = -3</math>
- <math>-( -3) = 3</math>
FactorialEdit
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.
TrigonometryEdit
In trigonometry, the trigonometric functions, such as <math>\sin</math>, <math>\cos</math>, and <math>\tan</math>, 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 languagesEdit
Below is a table summarizing common unary operators along with their symbols, description, and examples:<ref name="summarytable">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
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
|
JavaScriptEdit
In JavaScript, these operators are unary:<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- Increment:
++x
,x++
- Decrement:
--x
,x--
- Positive:
+x
- Negative:
-x
- Ones' complement:
~x
- Logical negation:
!x
C family of languagesEdit
In the C family of languages, the following operators are unary:<ref>Template:Cite book</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- Increment:
++x
,x++
- Decrement:
--x
,x--
- Address:
&x
- Indirection:
*x
- Positive:
+x
- Negative:
-x
- Ones' complement:
~x
- Logical negation:
!x
- Sizeof:
sizeof x, sizeof(type-name)
- Cast:
(type-name) cast-expression
Unix shell (Bash)Edit
In the Unix shell (Bash/Bourne Shell), e.g., the following operators are unary:<ref name="unixbash">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref name="unarybash">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- 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}
PowerShellEdit
In the PowerShell, the following operators are unary:<ref name="powershell">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- 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 alsoEdit
- Unary function
- Binary operation
- Iterated binary operation
- Binary function
- Ternary operation
- Arity
- Operation (mathematics)
- Operator (programming)