Bitwise self-operators

Bitwise self-operators Bitwise self-operators
These operators work only on integer operands. The syntax is: <target> |= <right_operand> <target> &= <right_operand> <target> ^= <right_operand> <target> >>= <right_operand> <target> <<= <right_operand> <target> must be an existing variable and contain a numeric value. <right_operand> must evaluate to a numeric value. If <target> or <right_operand> are floating point values then they are truncated and converted to integers. Note that if you want <right_operand> to be a result of an expression, you must enclose it in the $(*) expression evaluation call. Operator |= computes <target> bitwise-or <right_operand> and stores the result in <target>. Operator &= computes <target> bitwise-and <right_operand> and stores the result in <target>. Operator ^= computes <target> bitwise-xor <right_operand> and stores the result in <target>. Operator >>= shifts <target> <right_operand> bits to the right and stores the result int <target>. Operator <<= shifts <target> <right_operand> bits to the left and stores the result int <target>. Note that "!=" is not available. You must use %a = $(!%b) to implement it. For operators >>= and <<= <right_operand> must be a positive integer.
Examples
%a = 1 echo %a %a |= 2 echo %a %a &= 2 echo %a %a ^= 1 echo %a %a >>= 2 echo %a %a <<= 1 echo %a
See also
Operators

Index, Language Overview