# Bit Manipulation

Bit manipulation is a powerful technique that can optimize your algorithmic and problem-solving skills. This is one of the most important topics when someone starts preparing for FAANG companies. These bit tricks could help in competitive programming in running algorithms mostly in O(1) time.
A Bitwise OR is a binary operator that takes two-bit patterns of equal length and performs the logical inclusive OR operation on each corresponding bits pair. The result in each position is 0 if both bits are 0. Otherwise, the result is 1.
We need to write a program with minimum flips to make the two bits’ OR operation equal a number. If you understand the OR operations clearly, this problem will be a good challenge for your skills.
The Bitwise NOT operator evaluates the binary representation of the value of a single input. If the bit contains 1, the output will be 0 for that bit location. If the bit contains 0, the output will be 1.
Bitwise NOT, takes the input number, considers its binary representation, and inverts every bit, which means the 0 bit becomes 1, and the 1 bit becomes 0.
OR operator compares each bit of the first operand to the second operand’s corresponding bit. If both bits are 0, the corresponding result bit is set to 0. Otherwise, the corresponding result bit is set to 1
In order to ace coding interviews for tech companies, it is necessary to understand Bitwise operators, which are usually fast compared to arithmetic and other math operations.
We make use of bit manipulation to solve this problem. using a NOT operator.
This is an example of another Bitwise question. Think of the rightmost bit of a number and think of some logic that could solve this.
This is an extension to the counting set bits problem, counting the number of set bits or 1's present in a number. In here we see solutions in Java, JavaScript, Cpp, and TypeScript.
This is a traditional problem counting the number of set bits or 1's present in a number. Let’s see how we can count the set bits using the AND operator.