欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LintCode 179: Update Bits (位运算题)

程序员文章站 2022-07-05 13:06:51
...

经典位运算题。
记得尽量给位运算加括号,因为其优先级非常低。

class Solution {
public:
    /**
     * @param n: An integer
     * @param m: An integer
     * @param i: A bit position
     * @param j: A bit position
     * @return: An integer
     */
    int updateBits(int n, int m, int i, int j) {
        
        for (int k = i; k <= j; ++k) {
           if (m & (1 << k - i))
               n |= (1 << k);
           else
               n &= ~(1 << k);
        }
        
        return n;
    }
};
相关标签: LintCode