请教一个关于位操作的算法。。。好像比较难。。。。算法的目的是这样的:有一个字节,比如0x67。这个字节一共8个位,现在需要把这个字节的低n(n>=1 && n<=8)位取反,其他位不变。比如0x67,把它的低3位取反,其它位不变,就变成了0x60。各位高手有什么高效率的算法吗?[解决办法]刚刚理解错了,取反的话应该这样:mask = (1 << n) - 1;data = (data & ~mask) | (~data & mask);