# Store, and modify data by bit position: Solidity Example 

By [Hicss](https://paragraph.com/@freesuton) · 2023-02-06

---

    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))

---

*Originally published on [Hicss](https://paragraph.com/@freesuton/store-and-modify-data-by-bit-position-solidity-example)*
