#include <stdio.h>
#include <stdint.h>
uint32_t set_baud_rate(uint32_t reg, uint8_t baud) {
uint32_t mask = ((1 << 4) - 1) << 8;
reg &= ~mask;
baud = (baud & 0xF);
return reg | (baud << 8)// type promotion for baud is not required as its done implicitly here by appropriate shifting;
}
int main() {
uint32_t reg;
uint8_t baud;
scanf("%u %hhu", ®, &baud);
printf("%u", set_baud_rate(reg, baud));
return 0;
}
Input
0 10
Expected Output
2560