MENU
Bitwise Operators
The bitwise operators are ~(NOT), & (AND), ^(XOR), | (OR), <<(BITWISE LEFT SHIFT), >>(BITWISE RIGHT SHIFT), >>> (BITWISE UNSIGNED RIGHTSHIFT). Advanced programmers use these to manipulate bits which may allow efficient storage of data such as flags and bitmasks.
var flagA = 0b0001;
var flagB = 0b0010;
var flagC = 0b0100;
var flagD = parseInt('1000', 2);
var myFlag = flagB | flagC; // Assign flagB, flagC to myFlag
console.log(myFlag.toString(2));
console.log((~myFlag).toString(2));
if (myFlag & (flagA | flagB)) // Does myFlag have flagA/flagB?
console.log((myFlag & (flagA | flagB)).toString(2));
if (myFlag & ~flagD)
console.log((myFlag & ~flagD).toString(2));
console.log(flagB.toString(2));
console.log((flagB << 1).toString(2)); // add 0 at right
console.log((flagB >> 1).toString(2)); // add 0 at left
var n = -9;
console.log(n.toString(2));
console.log((n >> 2).toString(2));
console.log((n >>> 2).toString(2));110
-111
10
110
10
100
1
-1001
-11
111111111111111111111111111101