20.8乘(x-20)x减1乘x加17x

最近看算法题涉及到两个很经典的位运算:

  • x&(-x):保留二进制下最后出现的1的位置,其余位置置0(即一个数中最大的2的n次幂的因数
  • x&(x-1):消除二进制下最后出现1的位置其余保歭不变

  我们可以从看待字符串的角度去思考这件事。

  二进制下的数字都可以写成(A)1(B)的形式其中A表示一串01字符串,1表示从祐向左的出现的第一个数字1B表示空(奇数)或者是连续的0(偶数),即:

  -x的运算是所有位置取反+1,即变形如下(?表示所有位置取反):

我要回帖

更多关于 4乘x乘5减7x等于 的文章

 

随机推荐