Clear the Bit in an 8-bit Register

Code

#include <stdio.h>
#include <stdint.h>

uint8_t clear_bit(uint8_t reg, uint8_t pos) {
    return reg&~(1<<pos);
}

int main() {
    uint8_t reg, pos;
    scanf("%hhu %hhu", &reg, &pos);
    uint8_t result = clear_bit(reg, pos);
    printf("%u", result);
    return 0;
    
}

Solving Approach

concept is to clear one bit in 8 bit register without touching the other bits...

real time example based like turn off one led light without touching the others ...

so, use mask that shifts the position  use AND,INVERT operator to clear the data.

 

 

Upvote
Downvote
Loading...

Input

7 0

Expected Output

6