Recall & Review
beginner
What does the AND operator (&) do when used for masking bits in embedded C?
The AND operator (&) keeps bits set to 1 only if both bits in the operands are 1. It is used to isolate specific bits by masking others to 0.
Click to reveal answer
beginner
How do you use AND to check if a specific bit is set in a byte?
Use AND with a mask that has 1 only at the bit position you want to check. If the result is not zero, the bit is set.
Click to reveal answer
beginner
Example: What is the result of 0b1101 & 0b0100 in binary?
0b0100 (which is 4 in decimal). Only the third bit is kept because the mask has 1 there.
Click to reveal answer
intermediate
Why is AND masking useful in embedded programming?
It allows you to read or clear specific bits in hardware registers without changing other bits.
Click to reveal answer
beginner
What happens if you AND a number with 0xFF?
The number stays the same because 0xFF has all bits set to 1 in the lowest 8 bits, so no bits are masked out.
Click to reveal answer
What does the expression (value & 0x01) check in embedded C?
✗ Incorrect
0x01 has only the least significant bit set to 1, so ANDing with it checks that bit.
What is the result of 0b1010 & 0b1100?
✗ Incorrect
Only bits set in both numbers remain 1; here, only the bit at position 3 is 1 in both.
Which mask would you use to isolate the 4th bit (bit 3) of a byte?
✗ Incorrect
0x08 in hex is 00001000 in binary, which corresponds to bit 3.
If you want to clear all bits except bit 2, which operation would you use?
✗ Incorrect
AND with 0x04 keeps only bit 2 and clears others.
What does ANDing a number with zero do?
✗ Incorrect
AND with zero clears all bits, so the result is always zero.
Explain how the AND operator is used to mask bits in embedded C.
Think about how you keep some bits and clear others.
You got /5 concepts.
Describe a real-life example where masking bits with AND is useful in embedded programming.
Imagine reading a button press or sensor status.
You got /4 concepts.