You are given a ConfigRegister struct that simulates a 16-bit configuration register.
Each bit in the register has a specific meaning:
Bit Position | Meaning |
0 | Enable (1 = ON) |
1 | Mode (0 = Normal, 1 = Safe) |
2–3 | Priority (00 = Low, 01 = Medium, 10 = High, 11 = Invalid) |
4–15 | Reserved (must be 0) |
Your task is to validate the register:
Use pointer logic (-> or (*ptr).field) to access the data.
Example-1
Input: reg = 0x0005 (binary: 0000000000000101)
Output: 1
(Enable = 1, Mode = 0, Priority = 01 → Valid)
Example-2
Input: reg = 0x000B (binary: 0000000000001011)
Output: 1
Example-3
Input: reg = 0x0015 (binary: 0000000000010101)
Output: 0
(Bit 4 is set → Reserved violation)
Input
0005
Expected Output
1