The - operator is interpreted as either the NEGATE operator or the SUBTRACTION operator depending on the context in which it is used.
If the - operator has both a left hand operand and a right hand operand then it is interpreted as the SUBTRACTION operator.
If the - operator has only a right hand operand then it is interpreted as the NEGATE operator.
The - operator is a unary (prefix) arithmetic NEGATE operator. This should not be confused with the ~ operator which is a bitwise COMPLEMENT operator. The - operator expects an integer right hand operand. If the operand is a string, it will be automatically coerced to an integer before the NEGATE operator is applied.
syntax: - <right_expr><right_expr> is refered to as the right operand and may be a simple value or complex expression.
e.g. interpreted as negate operator - 0x1234 yields 0xFFFFEDCC - 0x00E0 yields 0xFFFFFF20 - 0 yields 0 - 1 yields 0xFFFFFFFF - -1 yields 1 ---------------------- interpreted as subtraction operator 2 - 3 yields -1