[expr] bit-wise "or" operator Arguments must be integers, result is an integer. Bit ''n'' of the result is 0 if bit ''n'' of each argument is 0. Otherwise, bit ''n'' of the result is 1. For negative arguments, observe that ~$n[==](-1-n) (See the [~] operator for further discussion.) The following cases then exist: %| Case | Result |% &| `$a>=0,$b>=0` | `$a<>$b`, as defined above. |& &| `$a>=0,$b<0` | `$a<>$b == ~(~$a & ~$b)` ''De Morgan's Law'' <
>`$a<>$b == ~(~$a & (-1-$b))` ''Extended definition of [~]'' <
>`$a<>$b == -1-(~$a & (-1-$b))` ''Extended definition of [~]'' <
>The expression (-1-$b) is nonnegative, and so the expression ([~]$a [&] ([-]1-$b)) can be evaluated by bitwise operations. |& &| `$a<0,$b>=0` | Commute to (`$b <> $a`) and solve as above. |& &| `$a<0,$b<0` | `$a<>$b == ~(~$a & ~$b)` ''De Morgan's Law'' <
>`$a<>$b == -1-((-1-$a) & (-1-$b))` ''Extended definition of [~]'' <
>Since ([-]1-$a) and (-1-$b) are both nonnegative, the [&] in the expression above can be evaluated wuth bitwise operations. |& ---- !!!!!! %|[Category Syntax]|% !!!!!!