coolwriter的博客

分享才能快乐

二进制

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

示例1
输入

1999 2299
输出

7
class Solution {
public:
    /**
     * 获得两个整形二进制表达位数不同的数量
     * 
     * @param m 整数m
     * @param n 整数n
     * @return 整型
     */
    int countBitDiff(int m, int n) {
        int a = m^n;
        int c = 0;
        while(a)
        {
            a=a&(a-1);
            ++c;
        }
        return c;
    }
};

二进制 一的个数

int BitCount(unsigned int n)
{
    unsigned int c =0 ;
    for (c =0; n; ++c)
    {
        n &= (n -1) ; // 清除最低位的1
    }
    return c ;
}

求二进制数中0的个数

int BitCount(int x)  
{  
    int count = 0;  
    while (x + 1)  
    {  
        count++;  
        x |= (x + 1);  
    }  
    return count;  
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/coolwriter/article/details/79971860
个人分类: 校招编程题
想对作者说点什么? 我来说一句

BZ二进制查看工具

2018年04月07日 52KB 下载

c++二进制迷宫源程序

2009年10月13日 225KB 下载

二进制文件编辑编译工具

2009年07月19日 1.23MB 下载

二进制半减器 ms8

2010年07月05日 87KB 下载

winhex二进制工具

2010年04月02日 1.19MB 下载

lab实验介绍

2017年12月27日 2.76MB 下载

kell 二进制代码

2011年10月02日 7KB 下载

Kotlin二进制读写方法

2017年09月12日 9KB 下载

没有更多推荐了,返回首页

不良信息举报

二进制

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭