编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子:1999 2299输出例子:7
今天我想通过操作符里的知识,通过简单的异或关系完成题面要求。
思路:将两个数异或,即可将相同位全部清0,不同位全部置1,然后只需统计出1的个数即可找到答案
代码如下(代码中有较为详细的注释):
#include<stdio.h>
#include<windows.h>
#pragma warning(disable: 4996);
int bin_diff_bit(int m, int n