class BinInsert {
public:
    int binInsert(int n, int m, int j, int i) {
        // write code here
        //  | :有1为1,全0为0。 &:0变1,1变0。 &:有0为0,全1为1;
        int mask = ((1 << j)-1) | ~((1 << (i + 1)) - 1);//生成从J到i均为0的掩码
        n &= mask;//将n的j到i的位数的二进制值为0
        m = m << j;//左移J伪对齐
        return n | m;//m的二进制填充到n的j到i的位数上
    }
};