📖 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
Step 1: Understand bitwise AND operation
Bitwise AND compares each bit of two numbers and returns 1 only if both bits are 1.
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).
Final Answer:
Bitwise AND -> Option A
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
Step 1: Identify bitwise XOR operator
In C, the caret symbol (^) is used for bitwise XOR operation.
Step 2: Differentiate from other operators
&& is logical AND, | is bitwise OR, & is bitwise AND, so only ^ is XOR.
Final Answer:
a ^ b -> Option A
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
Step 1: Convert numbers to binary
6 in binary is 0110, 11 in binary is 1011.
Step 2: Perform bitwise AND
0110 & 1011 = 0010 (only bits where both are 1 remain 1).
Step 3: Convert result back to decimal
0010 in decimal is 2.
Final Answer:
2 -> Option D
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
Step 1: Check syntax correctness
All lines have semicolons; operator | is correct for bitwise OR.
Step 2: Verify printf usage
%d is correct to print integer decimal value; no error present.
Final Answer:
No error, code will print correct output -> Option C
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
Step 1: Understand toggling bits with XOR
Bitwise XOR toggles bits where the second operand has 1s.
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.
Final Answer:
x ^ y -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.