由于2的幂有一个共有的特点就是它的二进制数中除了最高位是1,其余位都是0
根据这一个特点,我们只需要将这个数减1后与它本身做与运算判断结果是否为0即可
如:32它的二进制数为100000,将其-1后得到11111,与运算如下:
100000
100000
100000
&
011111
011111
011111
—
—
—
—
————
————
000000
000000
000000