Bird
Raised Fist0
Cprogramming~15 mins

Bitwise AND, OR, XOR in C - Mini Project: Build & Apply

Choose your learning style10 modes available
Bitwise AND, OR, XOR
📖 Scenario: Imagine you are working with simple electronic signals represented by numbers. You want to combine these signals using bitwise operations to see how they interact.
🎯 Goal: You will create two numbers and use bitwise AND, OR, and XOR operations on them. Then, you will display the results.
📋 What You'll Learn
Create two integer variables with exact values
Create a variable to hold the result of bitwise operations
Use bitwise AND, OR, and XOR operators
Print the results exactly as specified
💡 Why This Matters
🌍 Real World
Bitwise operations are used in electronics, graphics, and low-level programming to manipulate data efficiently.
💼 Career
Understanding bitwise operators is important for embedded systems, device drivers, and performance-critical software development.
Progress0 / 4 steps
1
Create two integer variables
Create two integer variables called a and b with values 12 and 10 respectively.
C
Hint

Use int a = 12; and int b = 10; inside the main function.

2
Create a variable for the result
Create an integer variable called result to store the output of bitwise operations.
C
Hint

Declare int result; inside the main function after a and b.

3
Apply bitwise AND, OR, and XOR
Use the bitwise AND operator to set result to a & b. Then use bitwise OR to set result to a | b. Finally, use bitwise XOR to set result to a ^ b. Write these three operations as separate lines.
C
Hint

Write three lines: result = a & b;, result = a | b;, and result = a ^ b;.

4
Print the results
Print the results of bitwise AND, OR, and XOR operations with the exact format:
AND: 8
OR: 14
XOR: 6
Use the variables a and b and the operators directly inside the printf statements.
C
Hint

Use printf("AND: %d\n", a & b); and similar for OR and XOR.

Practice

(1/5)
1. Which bitwise operator in C returns 1 only if both corresponding bits of two numbers are 1?
a & b means:
easy
A. Bitwise AND
B. Bitwise OR
C. Bitwise XOR
D. Logical AND

Solution

  1. Step 1: Understand bitwise AND operation

    Bitwise AND compares each bit of two numbers and returns 1 only if both bits are 1.
  2. Step 2: Compare with other operators

    Bitwise OR returns 1 if either bit is 1, XOR returns 1 if bits differ, and logical AND is different (works on boolean values).
  3. Final Answer:

    Bitwise AND -> Option A
  4. Quick Check:

    AND = & = Bitwise AND [OK]
Hint: AND means both bits must be 1 to get 1 [OK]
Common Mistakes:
  • Confusing bitwise AND with logical AND (&&)
  • Mixing AND with OR or XOR operators
  • Thinking bitwise AND returns 1 if either bit is 1
2. Which of the following is the correct syntax to perform bitwise XOR on two integers a and b in C?
easy
A. a ^ b
B. a && b
C. a | b
D. a & b

Solution

  1. Step 1: Identify bitwise XOR operator

    In C, the caret symbol (^) is used for bitwise XOR operation.
  2. Step 2: Differentiate from other operators

    && is logical AND, | is bitwise OR, & is bitwise AND, so only ^ is XOR.
  3. Final Answer:

    a ^ b -> Option A
  4. Quick Check:

    ^ means XOR in C [OK]
Hint: XOR uses ^ symbol in C [OK]
Common Mistakes:
  • Using && instead of ^ for XOR
  • Confusing | (OR) with ^ (XOR)
  • Using & (AND) instead of ^ (XOR)
3. What is the output of the following C code?
int a = 6;  // binary 0110
int b = 11; // binary 1011
printf("%d", a & b);
medium
A. 3
B. 15
C. 7
D. 2

Solution

  1. Step 1: Convert numbers to binary

    6 in binary is 0110, 11 in binary is 1011.
  2. Step 2: Perform bitwise AND

    0110 & 1011 = 0010 (only bits where both are 1 remain 1).
  3. Step 3: Convert result back to decimal

    0010 in decimal is 2.
  4. Final Answer:

    2 -> Option D
  5. Quick Check:

    6 & 11 = 2 [OK]
Hint: AND keeps bits set in both numbers only [OK]
Common Mistakes:
  • Confusing AND with OR or XOR results
  • Not converting binary back to decimal correctly
  • Mixing up bit positions
4. Identify the error in this C code snippet that tries to perform bitwise OR:
int a = 5;
int b = 9;
int c = a | b;
printf("%d", c);
medium
A. Missing semicolon after variable declarations
B. Incorrect operator used for bitwise OR
C. No error, code will print correct output
D. printf format specifier should be %x for bitwise OR

Solution

  1. Step 1: Check syntax correctness

    All lines have semicolons; operator | is correct for bitwise OR.
  2. Step 2: Verify printf usage

    %d is correct to print integer decimal value; no error present.
  3. Final Answer:

    No error, code will print correct output -> Option C
  4. Quick Check:

    Bitwise OR uses | and %d prints decimal [OK]
Hint: Bitwise OR uses | and %d prints decimal [OK]
Common Mistakes:
  • Thinking | is wrong operator for OR
  • Believing %x is mandatory for bitwise results
  • Missing semicolons (not the case here)
5. Given two integers x = 12 and y = 10, which expression toggles the bits of x where y has bits set, using bitwise XOR?
hard
A. x | y
B. x ^ y
C. x & y
D. ~x ^ y

Solution

  1. Step 1: Understand toggling bits with XOR

    Bitwise XOR toggles bits where the second operand has 1s.
  2. Step 2: Analyze each option

    x & y keeps bits set in both; x | y sets bits set in either; ~x ^ y is unrelated toggling with complement.
  3. Final Answer:

    x ^ y -> Option B
  4. Quick Check:

    XOR toggles bits where second operand has 1 [OK]
Hint: XOR toggles bits where second number has 1s [OK]
Common Mistakes:
  • Using AND or OR instead of XOR for toggling
  • Confusing complement operator ~ with XOR
  • Not understanding toggling effect of XOR
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard