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

来源:互联网 发布:搜索文件软件 编辑:程序博客网 时间:2024/05/20 04:30
#include<stdio.h>#include<stdlib.h>int bit_difference(int a, int b){    int tmp = 0;    int num = 0;    tmp = a^b;    while (tmp)    {        num++;        tmp = tmp&(tmp - 1);    }    return num;}int main(){    int count = 0;    int num1 = 0;    int num2 = 0;    printf("请输入两个数,用空格隔开\n");    scanf_s("%d%d", &num1, &num2);    count = bit_difference(num1, num2);    printf("不同的bit有%d位\n", count);    system("pause");    return 0;}
阅读全文
1 0
原创粉丝点击