#include <stdio.h>
#include <stdint.h>
// Function to set 'len' bits starting from position 'pos'
uint32_t setBits(uint32_t reg, int pos, int len) {
uint32_t mask = ((1U << len) - 1) << pos; // Create mask for 'len' bits at position 'pos'
return reg | mask; // Set the bits without affecting others
}
int main() {
uint32_t reg;
int pos, len;
scanf("%u %d %d", ®, &pos, &len);
uint32_t updatedReg = setBits(reg, pos, len);
printf("%u\n", updatedReg); // Print updated register value in decimal
return 0;
}
Input
0 4 3
Expected Output
112