#include <stdio.h>
#include <stdint.h>
typedef union {
struct {//a struct with bit fields
uint8_t enable : 1;
uint8_t mode : 2;
uint8_t interrupt : 1;
uint8_t reserved : 4;
} bits;
uint8_t reg;//a raw 1 byte register
} ControlRegister;//union
int main() {
uint8_t e, m, i;
scanf("%hhu %hhu %hhu", &e, &m, &i);//read values for enable, mode, interrupt
// Construct and print register value
ControlRegister *p;
p->bits.enable = e;
p->bits.mode = m;
p->bits.interrupt = i;
p->bits.reserved = 0;
printf("%d",p->reg);
return 0;
}
Input
1 2 1
Expected Output
13