码迷,mamicode.com
首页 > 移动开发 > 详细

[小米]懂二进制

时间:2017-05-25 19:44:47      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:exp   class   限制   lin   小米   href   思路   题目   ntb   

时间限制: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 };

 

[小米]懂二进制

标签:exp   class   限制   lin   小米   href   思路   题目   ntb   

原文地址:http://www.cnblogs.com/bxyan/p/6905492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!