首页 > 其他分享 >C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

时间:2024-06-04 16:04:05浏览次数:46  
标签:count int 32 整数 C语言 二进制 异或 对应

int countBits(int n)
{
    int count = 0;
    while (n)
    {
        count += n & 1;
        //count=count+n&1
        //n&1的结果只可能是1或者0
        //如果对应的二进制位上的数字不同,那么n&1的结果就是1,
        //那么count 刚好加一
        n >>= 1;
        //将n的二进制数列向右移动一位
        //换下一个数进行比较
    }
    return count;
}

int main()
{
    int m, n;
    scanf("%d %d", &m, &n);

    //异或操作可以直接比较两个整数的对应位。
    // 当两个整数的对应位相同时,异或结果为0;
    // 当对应位不同时,结果为1。
    // 这意味着异或结果的每一位都直接告诉
    // 我们原始两个整数在该位上是否不同。
    int result = m ^ n;//算出m和n的异或值,再将算出来的值带到函数进行计算
    int differentBits = countBits(result);
    printf("不同的数有%d个", differentBits);


    return 0;
}

//先得在外面将m和n的异或值求出来
//在异或的作用下,两个整数的二进制序列的不同都显现出来了

 临近期末--希望各位大牛期末顺利过关,不挂科,加油,未来的大牛们

标签:count,int,32,整数,C语言,二进制,异或,对应
From: https://blog.csdn.net/2301_80863610/article/details/139445546

相关文章

  • STM32F407 hal库FFT
    简介:本文所用开发板为立创天空星,主控芯片为STM32F407VET6,F407系列应该都能使用本文的方法。也推荐大家可以买一块立创天空星玩玩,很好用。1.设置调试模式为SWD调试2.将低速和高速时钟设置为外部时钟源3.时钟设置(按下图即可)4.设置ADC,可以和中断部分一起看注意DMA设定时......
  • 轻松拿捏C语言——【内存函数】
    ......
  • How to use JavaScript BigInt and Number.prototype.toString to handle the super l
    HowtouseJavaScriptBigIntandNumber.prototype.toStringtohandlethesuperlargeintegerproblemsAllInOne如何使用JavaScriptBigInt和Number.prototype.toStringg处理超大整数问题errorsfunctionplusOne(digits:number[]):number[]{letn=parseI......
  • NCHU-软件学院-232019班-23201125-罗伊鑫-第二次Blog
    前言本次Blog总结三次题目集的7-1题目的知识点、题量、难度等情况,以及写完后的错误总结和自我思考。1.知识点三次题目集都对于类的设计的提前规划好有着必要的需求,还有就是对于继承与多态的合理的使用。接着就是对于正则表达式的使用的检测,然后就是要有清晰的逻辑编程表达。2.......
  • INTJ切记: 太用力的人走不远
    所有的intj都有一个共同点就是焦虑,松弛感对于intj来说基本很少出现不管是在生活中还是工作上,他们都绷得很紧,也许在日常上他们的情绪表现得并不明显,但实际上他们的心理一直是处于痛苦当中的,这种痛苦源于他们对卓越的追求。.不管是世俗的成功,还是心灵高度的升华又或者对......
  • C语言 恼人的结合性和优先级和副作用
    结合性和优先级和副作用1.优先级2.结合性3.副作用4.简单区分i++,++i,i+=1;i=i+1;i=i++1.优先级优先级指的是,如果⼀个表达式包含多个运算符,哪个运算符应该优先执⾏。各种运算符的优先级是不⼀样的。在C语言中,优先性和结合性规则是非常重要的。然而C语言有几乎50中运算符......
  • 【C语言】自定义类型:结构体(建议收藏!!!)
    结构体前言1、什么是结构体2、结构体类型的声明3、结构体变量的创建和初始化4、结构成员访问操作符5、结构体内存对齐6、存在内存对齐的原因7、结构体传参8、结构体实现位段前言我们已经学了很多数据类型,列如int,char,float,double等。但还不能满足需求,在我们......
  • Intensity Segments问题
    https://github.com/zongzw/intensity-segmentIntensitySegments问题,是一个动态规划问题,考察的是对数据结构的掌握程度,从各种不同的数据结构中选择适合问题的的那个。问题到代码的转化能力,如何使用计算机语言描述数据动态变化的过程。以上链接中,使用两种语言golang和javas......
  • 英伟达(NVIDIA)、AMD和Intel部分GPU性能参数对比
    当然,以下是对NVIDIA、AMD和Intel部分GPU型号更为详细的性能参数对比,以及对它们的市场应用和技术创新的概述。NVIDIAGPU1.NVIDIAH100CUDA核心数:数千个(具体数量根据型号配置有所不同)TensorCore数:数百个(为深度学习提供强大的加速能力)显存容量:高达数百GB(如采用HBM2E技术的型......
  • 《信息学奥赛一本通 编程启蒙C++版》3001-3280
    《信息学奥赛一本通编程启蒙C++版》3001-3005(5题)《信息学奥赛一本通编程启蒙C++版》3001-3005(5题)-CSDN博客《信息学奥赛一本通编程启蒙C++版》3006-3010(5题)《信息学奥赛一本通编程启蒙C++版》3006-3010(5题)-CSDN博客《信息学奥赛一本通编程启蒙C++版》3011-3015......