#include <stdio.h>
#include <stdint.h>
uint8_t set_bit(uint8_t reg, uint8_t pos) {
// Your code here
reg = reg | (1 << pos);
return reg;
}
int main() {
uint8_t reg, pos;
scanf("%hhu %hhu", ®, &pos); // Accept register value and position
uint8_t result = set_bit(reg, pos);
printf("%u", result); // Output the result as an integer
return 0;
}
uint8_t set_bit(uint8_t reg, uint8_t pos) {
// Your code here
reg = reg | (1 << pos);
return reg;
}
example 1
(1 << pos)
:- here i am left shifting the 1 to specific position given.
here its binary is 0000 0010
reg | (1 << pos)
:- (or) "|" operation with reg.
(reg) 0000 0101 or 0000 0010 (left shift binary)
result is 0000 0111
Input
5 1
Expected Output
7