[小米]懂二进制

Posted 草莓鲍鲍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[小米]懂二进制相关的知识,希望对你有一定的参考价值。

时间限制:1秒 空间限制:32768K 热度指数:35899
算法知识视频讲解

题目描述

世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
输入例子:
1999 2299

输出例子:
7
思路:在二进制中,统计两个数的相应位不同可以利用异或,运算结果相同为0,不同为1,所以异或结果中1的个数就是不同的位数。
 1 class Solution {
 2 public:
 3     /**
 4      * 获得两个整形二进制表达位数不同的数量
 5      * 
 6      * @param m 整数m
 7      * @param n 整数n
 8      * @return 整型
 9      */
10     int countBitDiff(int m, int n) {
11         int res=m^n;
12         int num=0;
13         
14         while(res)
15             {
16                 if((res&1)==1)
17                     ++num;
18                 res=res>>1;
19         }
20         
21         return num;
22 
23     }
24 };

 

以上是关于[小米]懂二进制的主要内容,如果未能解决你的问题,请参考以下文章

终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系。有了这个,就有了主动,带不带句柄完全看需要。(代码片段

获得两个整形二进制表达位数不同的数量

《有趣的二进制:软件安全与逆向分析》读书笔记:通过逆向工程学习如何读懂二进制代码

《有趣的二进制:软件安全与逆向分析》读书笔记:通过逆向工程学习如何读懂二进制代码

《有趣的二进制:软件安全与逆向分析》读书笔记:通过逆向工程学习如何读懂二进制代码

2016校招真题编程-懂二进制