ribbon logo
ribbon contest type Free Academy Experience

Preparing for tech interviews?
Learn from the best instructors in the field.

Try Academy for FREE!


Bits and operations on it

Like other languages, JavaScript also supports bit-wise operations. In JavaScript, a number is stored as a 64-bit floating-point number but the bit-wise operation is performed on a 32-bit binary number i.e. to perform a bit-operation JavaScript converts the number into a 32-bit binary number (signed) and perform the operation and convert back the result to a 64-bit number.

BITWISE AND (&): When a bitwise AND is performed on a pair of bits, it returns 1 if both bits are 1.

Example: 
var x = 5; // 101
var y = 1; // 1
var z = x&y;
So here, 1 will be stored in z

BITWISE OR (|): When a bitwise OR is performed on a pair of bits, it returns 1 if atleast one of the bits is 1.

Example: 
var x = 5; // 101
var y = 1; // 1
var z = x|y;
So here, 5 will be stored in z

BITWISE XOR (^): When a bitwise XOR is performed on a pair of bits, it returns 1 if the bits are different.

Example: 
var x = 5; // 101
var y = 1; // 1
var z = x^y;
So here, 4 will be stored in z

BITWISE NOT(~): Its is a unary operator i.e. accepts single operands. It flips the bits i.e 0 becomes 1 and 1 becomes 0.

NOTE: JavaScript binary numbers are stored in two’s complement format. This means that a negative number is the bitwise NOT of the number plus 1.

Example: 
var x = 5; // 101
var z = ~x;
So here, -6 will be stored in z

(Zero Fill) Bitwise Left Shift (<<): One or more zero bits are pushed in from the right, and the leftmost bits fall off.

Example: 
var x = 5; // 00000000000000000000000000000101
var z = x<<1; // 00000000000000000000000000001010
So here, 10 will be stored in z

(Sign Preserving) Bitwise Right Shift (>>): Copies of the leftmost bit are pushed in from the left, and the rightmost bits fall off.

Example: 
var x = -5; // 11111111111111111111111111111011
var z = x>>1; // 11111111111111111111111111111101
So here, -3 will be stored in z

(Zero Fill) Right Shift (>>): One or more zero bits are pushed in from the left, and the rightmost bits fall off.

Example: 
var x = 5; // 00000000000000000000000000000101
var z = x>>1; // 00000000000000000000000000000010
So here, 2 will be stored in z

Try the following example in the editor below.

You are given an integer N, print the summation of N XOR (N OR (Negation N)).

Sample Input:

100

Sample Output:

-101

Start solving Bits and operations on it on Interview Code Editor
Hints
  • Hints are not available for this problem

Discussion


Loading...
Click here to start solving coding interview questions