var mask = 0x80000000; ((mask & mask) == mask) ==> is FALSE But ((mask & mask) >> 1) == (mask >> 1) ==> is TRUEJavaScript does use standard two's complement representation. Positive numbers are changed to negative numbers by (~Positive + 1). For example,
1 == ...0001 => ...1110 + 1 => ...1111 == -1