bitwise operators
Certainly.
#include <stdio.h>
void printBinary(int num) {
for (int i = 31; i >= 0; i--) {
printf("%d", (num >> i) & 1);
if (i % 8 == 0)
printf(" ");
}
printf("\n");
}
int main() {
int a = 5; // 0000 0000 0000 0000 0000 0000 0000 0101
int b = 3; // 0000 0000 0000 0000 0000 0000 0000 0011
// Bitwise AND
int resultAnd = a & b;
printf("Bitwise AND: ");
printBinary(resultAnd);
// Bitwise OR
int resultOr = a | b;
printf("Bitwise OR: ");
printBinary(resultOr);
// Bitwise XOR
int resultXor = a ^ b;
printf("Bitwise XOR: ");
printBinary(resultXor);
// Bitwise NOT
int resultNotA = ~a;
printf("Bitwise NOT (A): ");
printBinary(resultNotA);
int resultNotB = ~b;
printf("Bitwise NOT (B): ");
printBinary(resultNotB);
// Left shift
int resultLeftShift = a << 1;
printf("Left Shift (A << 1): ");
printBinary(resultLeftShift);
// Right shift
int resultRightShift = a >> 1;
printf("Right Shift (A >> 1): ");
printBinary(resultRightShift);
return 0;
}