[小米]懂二进制
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消息虽然尽量保持一致,但其实相互没有特别大的关系。有了这个,就有了主动,带不带句柄完全看需要。(代码片段
《有趣的二进制:软件安全与逆向分析》读书笔记:通过逆向工程学习如何读懂二进制代码
《有趣的二进制:软件安全与逆向分析》读书笔记:通过逆向工程学习如何读懂二进制代码