很多方法。
这里提两种方法:
①利用>>操作符以及&操作符
原理:
//例子15(二进制为:00001111):
//00001111
//00000111
//00000011
//00000001
//00000000
//让二进制一直向右移动>>
// 当按位与(&)1时的结果为1,那么这个二进制的最后一个数字一定为1.
②利用公式n=n&(n-1)
//n = n&(n-1)
例子:13(二进制为:1101)
00001101 =n
00001100 =n-1
00001100 = n & (n - 1)
||
00001100 =n
00001010 =n-1
00001000 = n & (n - 1)
||
00001000 =n
00000100 =n-1
00000000 = n & (n - 1)
||
00000000 =n
//此时n等于0
由此就可以得出代码: