[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 & (-1-$b)) Extended definition of [~] | | | == -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 | | | == -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]|% !!!!!!