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?