@柠檬少年

对坚持最大的鼓励,不是你可以,而是多年后说一句还好你没放弃

4.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <windows.h>
void fun(int m,int n)
{
    int t = 0;
    int count = 0;
    t=m^n;//得到不同的比特位数
    while(t)
    {
        t=t&(t-1);//得到比特位为一的个数
        count++;
    }
    printf("count=%d\n",count); 
}
int main()
{
    int m = 0;  
    int n = 0; 
    int count = 0;
    printf("输入两个整数:");
    scanf("%d%d",&m,&n);
    fun(m,n);
    system("pause");
    return 0;
}

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kai29/article/details/78254999
文章标签: 二进制 32位
个人分类: c语言代码
想对作者说点什么? 我来说一句

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

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