VOOZH about

URL: https://www.geeksforgeeks.org/dsa/modify-bit-given-position/

⇱ Modify a bit at a given position - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Modify a bit at a given position

Last Updated : 18 Sep, 2023

Given a number n, a position p and a binary value b, we need to change the bit at position p in n to value b.

Examples : 

Input : n = 7, p = 2, b = 0
Output : 3
7 is 00000111 after clearing bit at 
2nd position, it becomes 0000011.

Input : n = 7, p = 3, b = 1
Output : 15
7 is 00000111 after setting bit at 
3rd position it becomes 00001111.
We first create a mask that has set bit only 
at given position using bit wise shift.
 mask = 1 << position

Then to change value of bit to b, we first
make it 0 using below operation
 value & ~mask

After changing it 0, we change it to b by
doing or of above expression with following
(b << p) & mask, i.e., we return
 ((n & ~mask) | (b << p))

Below is the implementation of above steps :  

Output : 

 2
 38

Time Complexity : O(1)

Auxiliary Space : O(1)


 

Comment
Article Tags:
Article Tags: