1. //判断一个整数是否是2的n次方
  2. publicstaticbool IsPower(int number)
  3. {
  4.     if (number <= 0)
  5.      {
  6.         returnfalse;
  7.      }

  8.     if ((number & (number - 1)) == 0)
  9.      {
  10.         returntrue;
  11.      }

  12.     returnfalse;
  13. }
  14. ===================================
  15. publicstaticbool IsPower(int number)
  16. {
  17.     if (number <= 0)
  18.      {
  19.         returnfalse;
  20.      }

  21.     while (true)
  22.      {
  23.         if (number == 1)
  24.          {
  25.             returntrue;
  26.          }
  27.         //如果是奇数
  28.         if ((number & 1) == 1)
  29.          {
  30.             returnfalse;
  31.          }
  32.         //右移一位
  33.          number >>= 1;
  34.      }