【基础算法】位运算之lowbit操作
lowbit作用:快速找到一个数中二进制的最后一个1以及后面所有0的组合
lowbit核心:一个数的原码 & 补码(即该数的负数)
举个例子:
原码 = 101010101000000
补
我以前看到一种说法,不知道正不正确:
比如一个数减一个数,可以写成加这个数的负数。
所以:1+(-1)=0,然后 (-1)=0-1;
根据电路的特点,超出位数不会记录, 0=0b1111+0b0001 成立;
(-1)=(0b1111+0b0001)-0b0001=0b1111;