TCPL 2-7

题目:编写一个函数invert(x, p, n),该函数返回对x执行下列操作后的结果值:将x种从中p位开始的n个(二进制)位求反(即,1变成0, 0变成1),x的其余各位保持不变。

下面是代码:

unsigned invert(unsigned x, int p, int n)
{
    return  ~(~0 << n) << (p - 1)  ^ x & x;
}

猜你喜欢

转载自blog.csdn.net/qq_38035641/article/details/86665538
2-7