#include <stdio.h> #include <stdint.h> uint32_t setBits(uint32_t reg, int pos, int len) { uint32_t mask = ((1u << len) - 1) << pos; return reg | mask; } int main() { uint32_t reg; int pos, len; scanf("%u %d %d", ®, &pos, &len); uint32_t result = setBits(reg, pos, len); printf("%u\n", result); return 0; }
Test Cases
Test Results
Input
0 4 3
Expected Output
112