#include <stdio.h> #include <stdint.h> typedef union{ struct { /* data */ uint8_t enable : 1; uint8_t mode : 2; uint8_t interrupt : 1; uint8_t reserved : 4; }fields; uint8_t reg; } Register; void printf_output(uint8_t enable, uint8_t mode, uint8_t interrupt){ Register r; r.fields.enable = enable; r.fields.mode = mode; r.fields.interrupt = interrupt; printf("%d", r.reg); } int main() { uint8_t e, m, i; scanf("%hhu %hhu %hhu", &e, &m, &i); // Construct and print register value printf_output(e,m,i); return 0; }
Test Cases
Test Results
Input
1 2 1
Expected Output
13