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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kai29/article/details/78254999
#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;
}

这里写图片描述

阅读更多
想对作者说点什么? 我来说一句

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