#include <stdio.h>
#include <stdint.h>
// typedef union {
// struct {
// uint16_t adc_value : 12;
// uint16_t channel : 4;
// };
// uint16_t adc_reg;
// } ADC_Result;
typedef struct{
uint16_t val :12;
uint16_t chan :4;
}ADC_field_t;
typedef union{
ADC_field_t field;
uint16_t raw;
} ADC_Result;
int main() {
uint16_t reg;
scanf("%hx", ®);
// Fill union and print channel and adc_value
ADC_Result res;
res.raw = reg;
printf("Channel: %u\nADC Value: %u\n", res.field.chan, res.field.val);
return 0;
}