博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网2016校招真题在线编程之懂二进制
阅读量:5090 次
发布时间:2019-06-13

本文共 442 字,大约阅读时间需要 1 分钟。

 

 先对两个数进行位异或,这样能够得到两个数中有多少位是不同的,然后再数一下这个数中有多少位1就可以了。

 

AC代码:

public class Solution {        /**     * 获得两个整形二进制表达位数不同的数量     *      * @param m 整数m     * @param n 整数n     * @return 整型     */    public int countBitDiff(int m, int n) {        int k = m ^ n;        int res = 0;        while(k>0){            if( (k & 1) == 1) res++;            k>>=1;        }		return res;    }    }

  

 题目地址: h

.

转载于:https://www.cnblogs.com/cc11001100/p/7898158.html

你可能感兴趣的文章
STL容器之vector
查看>>
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>