Bitoperators

Bitwise operators are used to process numbers with respect to their binary representation. The main task of bitwise operators is to manipulate binary values bitwise.

The operations are directly supported by the processor. Bitwise operations are required for working with device drivers, low-level graphics, cryptography, and network communication.

OperatorDescription
~Bit complement
<<Left shift of bit patterns
>>Right shift of bit patterns
&Bitwise AND
^Bitwise XOR
|Bitwise OR

Code Example

#include <iostream>
using namespace std;

int main() {
	int x, y, z, a=7, b=12, c=15;
	x = a & b;
	z = a | b;
	y = a ^ c;
	cout << "Bitwise AND: " << x << endl;
	cout << "Bitwise OR: " << z << endl;
	cout << "Bitwise XOR: " << y << endl;
}
Output

The output shows the results of the bitwise operations between the variables a, b, and c. The value of x is 4, which is the result of a & b. The value of z is 15, which is the result of a | b. The value of y is 8, which is the result of a ^ c.

Bitwise AND: 4
Bitwise OR: 15
Bitwise XOR: 8

Code Explanation

  1. The code includes the iostream library, which provides input and output functionality in C++.
  2. The line using namespace std; declares that we’re using the std namespace, which contains various standard C++ functions and objects, including cout.
  3. The int main() function is the entry point of the program. It returns an integer value, typically 0, indicating successful execution.
  4. Inside the main() function, several variables are declared:
    • x, y, and z are int variables that will store the results of the bitwise operations.
    • a is an int variable initialized with the value 7.
    • b is an int variable initialized with the value 12.
    • c is an int variable initialized with the value 15.
  5. The line x = a & b; performs a bitwise AND operation between a and b and assigns the result to x. The bitwise AND operator (&) compares the corresponding bits of a and b and returns a new value where each bit is set to 1 if both corresponding bits in a and b are 1, otherwise it sets the bit to 0.
  6. The line z = a | b; performs a bitwise OR operation between a and b and assigns the result to z. The bitwise OR operator (|) compares the corresponding bits of a and b and returns a new value where each bit is set to 1 if at least one of the corresponding bits in a and b is 1, otherwise it sets the bit to 0.
  7. The line y = a ^ c; performs a bitwise XOR (exclusive OR) operation between a and c and assigns the result to y. The bitwise XOR operator (^) compares the corresponding bits of a and c and returns a new value where each bit is set to 1 if the corresponding bits in a and c are different, otherwise it sets the bit to 0.
  8. The cout statements are used to display the results of the bitwise operations on the console. They use the << operator to insert values and strings into the output stream.
  9. Each cout statement outputs a string describing the bitwise operation performed (Bitwise AND:, Bitwise OR:, Bitwise XOR:), followed by the result of the operation (x, z, y).