zoukankan      html  css  js  c++  java
  • 剑指offer--面试题10--相关

    题目一:判断一个整数是不是2的n次幂

    实现大概如下:

    int main()
    {
        int a = 256;
        if((a&(a-1)) == 0)  //重要!!
            std::cout<<"YES!"<<std::endl;
        else
            std::cout<<"No!"<<std::endl;
        return 0;
    
    }

    题目二:

    输入整数m和n,计算由m得到n时需改变二进制位的个数。

    思路:先m|n(异或);再用上篇博客中的方法统计异或结果二进制中1的个数即可。

    重点理解+记住:

    一个整数(包括负数)减一后再与原来的整数做位与(&)运算,得到的结果相当于将原来整数二进制表示中最右边的1置为0 !!!

    例如:整数n,相应操作为n&(n-1)

    清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己 -- 共勉
  • 相关阅读:
    XML与 实体的相互转化
    SerializeHelper
    Linq To Xml
    JsonHelper
    动态添加XtraTabControl的page页和子窗体
    窗体设置操作
    常用快捷键
    Jquery键盘事件
    Http跨域
    [转]ASP.NET母版页中对控件ID的处理
  • 原文地址:https://www.cnblogs.com/hello-yz/p/3249865.html
Copyright © 2011-2022 走看看