Store, and modify data by bit position: Solidity Example
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))

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))
Subscribe to Hicss
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.