#include <stdio.h>
#include <stdint.h>
uint32_t set_baud_rate(uint32_t reg, uint8_t baud) {
// Your code here
const uint32_t BAUD_MASK = 0xF << 8;
reg &= ~BAUD_MASK;
reg |= (baud & 0xF) << 8;
return reg;
}
int main() {
uint32_t reg;
uint8_t baud;
scanf("%u %hhu", ®, &baud);
printf("%u", set_baud_rate(reg, baud));
return 0;
}
BAUD_MASK = 0xF << 8
.reg &= ~BAUD_MASK;
(sets bits [11:8] , keeps others unchanged).reg |= (baud & 0xF) << 8;
.
Input
0 10
Expected Output
2560