懂二进制

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

输出例子: 7


public class Solution {
    /**
     * 获得两个整形二进制表达位数不同的数量
     * 
     * @param m 整数m
     * @param n 整数n
     * @return 整型
     */
    public int countBitDiff(int m, int n) {
        int data = 1;
        int cnt = 0;
        int tmp1,tmp2;
        for ( int i = 0 ; i < 32 ; i++){
            tmp1 = m & data;
            tmp2 = n & data;
            if ( tmp1 != tmp2){
                cnt++;
            }
            m = m >> 1;
            n = n >> 1;
        }
        return cnt;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 页式存储管理

    一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。把内存空间分成与页面相同大小的若干个存储块,称为(物...

    AI那点小事
  • 1035. 插入与归并(25)

    插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。

    AI那点小事
  • 算法训练 矩阵乘法

    问题描述   输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。 输入格式   第一行,空格隔开的三个正整数m,s,n(均不超过200...

    AI那点小事
  • pHash的Java实现

    此算法中的DCT变换是从 http://blog.csdn.net/luoweifu/article/details/8214959抄过来的,因为这种需要大量的...

    Venyo
  • 【 HDU - 4456 】Crowd (二维树状数组、cdq分治)

    给你一个n行n列的格子,一开始每个格子值都是0。有M个操作,p=1为第一种操作,给格子(x,y)增加z。p=2为询问与格子(x,y)的曼哈顿距离不超过z的格子值...

    饶文津
  • 06--图解数据结构之并查集

    张风捷特烈
  • HDU1878 欧拉回路

    Problem Description 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? Inp...

    attack
  • LeetCode Weekly Contest 31解题思路

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447
  • c++之数组

    绝命生
  • 经典笔试题-JAVA实现快速排序算法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java

扫码关注云+社区

领取腾讯云代金券