TypeScript - Bitwise Operators Examples


Advertisements

Assume variable A = 2 and B = 3

Operator Description Example
& (Bitwise AND) It performs a Boolean AND operation on each bit of its integer arguments. (A & B) is 2
| (BitWise OR) It performs a Boolean OR operation on each bit of its integer arguments. (A | B) is 3
^ (Bitwise XOR) It performs a Boolean exclusive OR operation on each bit of its integer arguments. Exclusive OR means that either operand one is true or operand two is true, but not both. (A ^ B) is 1
~ (Bitwise Not) It is a unary operator and operates by reversing all the bits in the operand. (~B) is -4
<< (Left Shift) It moves all the bits in its first operand to the left by the number of places specified in the second operand. New bits are filled with zeros. Shifting a value left by one position is equivalent to multiplying it by 2, shifting two positions is equivalent to multiplying by 4, and so on. (A << 1) is 4
>> (Right Shift) Binary Right Shift Operator. The left operand’s value is moved right by the number of bits specified by the right operand. (A >> 1) is 1
>>> (Right shift with Zero) This operator is just like the >> operator, except that the bits shifted in on the left are always zero. (A >>> 1) is 1

Example

var a:number = 2;   // Bit presentation 10 
var b:number = 3;   // Bit presentation 11
 
var result; 
     
result = (a & b);     
console.log("(a & b) => ",result)
          
result = (a | b);          
console.log("(a | b) => ",result)  
       
result = (a ^ b);  
console.log("(a ^ b) => ",result);
 
result = (~b); 
console.log("(~b) => ",result);

result = (a << b); 
console.log("(a << b) => ",result); 

result = (a >> b); 
console.log("(a >> b) => ",result);

On compiling, it will generate the following JavaScript code −

//Generated by typescript 1.8.10
var a = 2;   // Bit presentation 10
var b = 3;   // Bit presentation 11
var result;

result = (a & b);
console.log("(a & b) => ", result);

result = (a | b);
console.log("(a | b) => ", result);

result = (a ^ b);
console.log("(a ^ b) => ", result);

result = (~b);
console.log("(~b) => ", result);

result = (a << b);
console.log("(a << b) => ", result);

result = (a >> b);
console.log("(a >> b) => ", result);

The output of the above program is given below −

(a & b) =>  2 
(a | b) =>  3 
(a ^ b) =>  1 
(~b) =>  -4 
(a << b) =>  16 
(a >> b) =>  0
typescript_operators.htm

Useful Video Courses


Video

Angular Essentials - Admin App, Typescript, Docker, c3.js

45 Lectures 4 hours

Antonio Papa

Video

NestJs: Modern ways to build APIs with Typescript and NestJs

41 Lectures 7 hours

Haider Malik

Video

Master Typescript : Learn Typescript from scratch

60 Lectures 2.5 hours

Skillbakerystudios

Video

Three.js and TypeScript

77 Lectures 8 hours

Sean Bradley

Video

TypeScript from Scratch: Go from zero to hero in TypeScript

77 Lectures 3.5 hours

TELCOMA Global

Video

Advanced TypeScript: Generic Search, Sorting and Filtering

19 Lectures 3 hours

Christopher Frewin

Advertisements