zoukankan      html  css  js  c++  java
  • 判断一个整数是否是 2 的幂次方

    我的思路很简单,就是这样:

    bool check(int n)
    {
        while (n != 2) {
            if (n % 2 != 0) {
                return false;
            }
            n /= 2;
        }
        return true;
    }
    
    bool isPowerOfTwo(int n)
    {
        if (n == 0){
            return false;
        }
        
        if (n == 1){
            return true;
        }
        
        return check(n);
    }

     因为我都是自学,所以算法啥的我觉得这肯定不是最快的方法,果然我在另外一些博客里看到这样的方法:

    bool isPowerOfTwo(int n)
    {
        if (n <= 0){
            return false;
        }
        
        return (n & n - 1) == 0;
    }

    不禁感慨这个世界上果然只有两种程序员,懂二进制的和不懂二进制的。

  • 相关阅读:
    css3记事
    ele
    vue记事1
    HBuilder
    继承与面向对象设计
    实现
    设计与声明
    资源管理
    构造/析构/赋值运算
    让自己习惯C++
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4690105.html
Copyright © 2011-2022 走看看