题目:世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?输入例子:1999 2299输出例子:7背景知识:将两个二进制数变成等长(较短的那个高位补0),然后将两个二进制数进行按位“异或”,结果中为1的那些位,就是这两个二进制数不同的...
分类:
移动开发 时间:
2015-06-11 22:38:02
阅读次数:
254
总共3道题,最后一道还没AC出来。。。
世界上有10种人,一种懂二进制,一种不懂。
那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
输入例子:
1999 2299
输出例子:
7
此题解法类似于《编程之美》上面看到的某题
代码:
#include
using namespace std;
i...
分类:
移动开发 时间:
2015-06-07 09:33:31
阅读次数:
160
这是小米2015年暑假实习生第一道笔试题,其实不难,主要用到移位操作和或运算符就可以搞定,具体代码如下:
/*世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
输入例子:
1999 2299
输出例子:
7
*/
#include
int countBitDiff(int m, int n)
{
int data=1;...
分类:
其他好文 时间:
2015-05-12 01:45:02
阅读次数:
166
题目描述世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
输入例子:
1999 2299
输出例子:
7题目分析二进制中,统计两个数的相应位(bit)相同可以采用异或操作,异或运算结果相同为0不同为1。所以两个数异或的结果中1就是相同位数。...
分类:
其他好文 时间:
2015-05-08 00:08:33
阅读次数:
274
世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
输入例子:
1999 2299输出例子:
7class Solution {
public:
/**
* 获得两个整形二进制表达位数不同的数量
*
* @param m 整数m
* @param n 整数n
* @...
分类:
其他好文 时间:
2015-04-25 01:43:14
阅读次数:
123
如何判断是输入还是输出?答:以程序为中心。如何判断是解码还是编码?答:以程序为中心。程序只懂二进制,所以,以二进制转换成字符是解码,字符转换成二进制是编码。1. 首先,File 它是给程序跟文件或文件夹建立的一个联系。它不是代表那个路径下的文件,只是一个联系。不能对文件进...
分类:
其他好文 时间:
2015-04-22 13:43:01
阅读次数:
177
世界上有 10 种人, 一种是懂二进制的, 一种是不懂二进制的. well, 我知道这很老掉牙,
但也许可以用来做一个不错的开头 ^_^.计算机表示一个整数(包括正整数和负整数)的方法有 3 种, 原码, 反码和补码.以十进制整数 5 为例.
转换为二进制形式是 101. 如果将它存储在一个 Byt...
分类:
其他好文 时间:
2014-05-05 22:50:05
阅读次数:
348