29. Bit Field Operations-ii

Question.4

Two developers extract a 4-bit field from bits 4–7 of an 8-bit register:

Developer A — mask then shift:

uint8_t val = (reg & 0xF0) >> 4;

Developer B — shift then mask:

uint8_t val = (reg >> 4) & 0x0F;

Which is safer for general-purpose use in firmware?

Need Help? Refer to the Quick Guide below

Select Answer