C语言位操作–判断整数是否为2的幂

  • Post author:
  • Post category:其他


unsigned int v; // 判断v是否为2的幂
bool f;         // f为判断的结果

f = (v & (v - 1)) == 0; // 结果为0表示不是2 的幂

// 改变表示方法,可以使用下面的方法:
f = v && !(v & (v - 1));

转载于:https://www.cnblogs.com/cpoint/p/3367377.html