Cover Image for Bit manipulation C++
157 views

Bit manipulation C++

Bit manipulation in C++ involves manipulating individual bits within an integer (or other bit-based data types) using bitwise operators. Bit manipulation can be used for a variety of purposes, including setting, clearing, toggling, and checking specific bits within an integer. Here are some common bitwise operators and operations in C++:

  1. Bitwise AND (&) Operator:
  • This operator performs a bitwise AND operation between two integers, resulting in a new integer with bits set to 1 only if both corresponding bits in the operands are 1.
C++
 int a = 5;     // binary: 0101
 int b = 3;     // binary: 0011
 int result = a & b; // binary: 0001 (decimal: 1)
  1. Bitwise OR (|) Operator:
  • This operator performs a bitwise OR operation between two integers, resulting in a new integer with bits set to 1 if either of the corresponding bits in the operands is 1.
C++
 int a = 5;     // binary: 0101
 int b = 3;     // binary: 0011
 int result = a | b; // binary: 0111 (decimal: 7)
  1. Bitwise XOR (^) Operator:
  • This operator performs a bitwise XOR (exclusive OR) operation between two integers, resulting in a new integer with bits set to 1 if the corresponding bits in the operands are different.
C++
 int a = 5;     // binary: 0101
 int b = 3;     // binary: 0011
 int result = a ^ b; // binary: 0110 (decimal: 6)
  1. Bitwise NOT (~) Operator:
  • This operator performs a bitwise NOT operation on an integer, flipping all the bits from 0 to 1 and vice versa.
C++
 int a = 5;     // binary: 0101
 int result = ~a;  // binary: 1010 (decimal: -6 on most systems due to two's complement representation)
  1. Left Shift (<<) Operator:
  • This operator shifts the bits of an integer to the left by a specified number of positions, filling in with 0s on the right.
C++
 int a = 5;        // binary: 0101
 int shifted = a << 2; // binary: 010100 (decimal: 20)
  1. Right Shift (>>) Operator:
  • This operator shifts the bits of an integer to the right by a specified number of positions, filling in with 0s on the left for non-negative integers and with the sign bit for negative integers (arithmetic right shift).
C++
 int a = 20;        // binary: 010100
 int shifted = a >> 2; // binary: 000101 (decimal: 5)

Bit manipulation is commonly used in various low-level programming tasks, such as optimizing code, working with hardware, or solving specific algorithmic problems that require precise bit-level control.

YOU MAY ALSO LIKE...

The Tech Thunder

The Tech Thunder

The Tech Thunder


COMMENTS