牛客网2016校招真题在线编程之懂二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客网2016校招真题在线编程之懂二进制相关的知识,希望对你有一定的参考价值。
先对两个数进行位异或,这样能够得到两个数中有多少位是不同的,然后再数一下这个数中有多少位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; } }
.
以上是关于牛客网2016校招真题在线编程之懂二进制的主要内容,如果未能解决你的问题,请参考以下文章