Bitwise Operators
Bitwise operators perform operations on individual bits, and the result is also always a bit. They can work with integral numeric types. There are six bitwise operators:
1. `~` – Complement
2. `&` – AND
3. `|` – OR
4. `^` – Exclusive OR
5. `<<` – Left shift
6. `>>` – Right shift
Example in C:
#include <stdio.h>
 int main() {
unsigned int a = 60; // 60 in binary: 0011 1100
unsigned int b = 13; // 13 in binary: 0000 1101
int result;
 // Bitwise AND
result = a & b; // result = 12 (0000 1100)
printf("a & b = %d\n", result);
 // Bitwise OR
result = a | b; // result = 61 (0011 1101)
printf("a | b = %d\n", result);
 // Bitwise XOR
result = a ^ b; // result = 49 (0011 0001)
printf("a ^ b = %d\n", result);
 // Bitwise NOT
result = ~a; // result = -61 (1100 0011)
printf("~a = %d\n", result);
 // Left shift
result = a << 2; // result = 240 (1111 0000)
printf("a << 2 = %d\n", result);
 // Right shift
result = a >> 2; // result = 15 (0000 1111)
printf("a >> 2 = %d\n", result);
 return 0;
}
Logical Operators:
Logical operators compare bits of the given object and always return a Boolean result. They work with Boolean variables or expressions. There are three basic operands:
1. `&&` – Logical AND
2. `||` – Logical OR
3. `!` – Logical NOT
#include <stdio.h>
 int main() {
    int x = 5, y = 10, z = 5;
     // Logical AND
    if (x > 0 && y > 0)
        printf("x and y are both greater than 0\n");
     // Logical OR
    if (x == 5 || y == 5)
        printf("At least one of x or y is equal to 5\n");
     // Logical NOT
    if (!(x == y))
        printf("x is not equal to y\n");
     return 0;
}
Ajink Gupta Answered question April 13, 2024
				