All submissions

Set the Bit in an 8-bit Register

Code

#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", &reg, &pos);  // Accept register value and position
    uint8_t result = set_bit(reg, pos);
    printf("%u", result);         // Output the result as an integer
    return 0;
}

Solving Approach
 

uint8_t set_bit(uint8_t reg, uint8_t pos) {
    // Your code here
    reg = reg | (1 << pos);
    return reg;
}

example 1 

  1. reg = 0b0 0000 0101 , pos = 1.
  2. (1 << pos) :- here i am left shifting the 1 to specific position given.

    here its binary is  0000 0010

  3. reg | (1 << pos) :- (or) "|" operation with reg.

    (reg) 0000 0101  or   0000 0010 (left shift binary)

    result is 0000 0111

 

 

Loading...

Input

5 1

Expected Output

7