如果您只是想检查一下是否设置了一位,那么您实际上是在检查该数字是否是2的幂。为此,您可以执行以下操作:
if ((number & (number-1)) == 0) ...
这也将0乘以2的幂,因此如果重要,则应检查数字是否不为0。因此:
if (number != 0 && (number & (number-1)) == 0) ...

如果您只是想检查一下是否设置了一位,那么您实际上是在检查该数字是否是2的幂。为此,您可以执行以下操作:
if ((number & (number-1)) == 0) ...
这也将0乘以2的幂,因此如果重要,则应检查数字是否不为0。因此:
if (number != 0 && (number & (number-1)) == 0) ...