Bitwise AND (each bit of the returned value is a result of AND operation of corresponding bits in v1 and v2)

v1 | v2

Bitwise OR (each bit of the returned value is a result of OR operation of of corresponding bits in v1 and v2)

v1 ^ v2

Bitwise XOR (each bit of the returned value is a result of XOR operation of corresponding bits in v1 and v2)

~v1

Bitwise NOT (each bit of returned value is the result of NOT operation of corresponding bit in v1). Not implemented in the PROMOTIC system so far.

v1 << v2

Bitwise leftshift (the bit values in v1 are shifted by v2 number of bits left). For example v1<<2 returns double the v1 value.

v1 >> v2

Bitwise rightshift (the bit values in v1 are shifted by v2 number of bits right). For example v1>>2 returns the whole number division of v1/2.

The bit operators of the JavaScript language require whole number values (4-byte integer). If the value is not a integer then the operator has to transform it to integer first. If the value cannot be transformed then the operator returns the NaN value.: