lowbit操作 应用 求得二进制的最后一个1 证明 假设 x为_ _ _ _ _ 1 0 0 0 0 则: ~x(x取反)为_ _ _ _ _ 0 1 1 1 1 ~x+1为_ _ _ _ _ 1 0 0 0 0 那么可以通过x&~x+1获得最后一个1 (注意:在编程中-x即为~x+1) 所以x&-x与x&~x+1等价 模板 int lowbit (int x) { return x & -x; }