C语言求两个整数二进制位不同的个数
遍历法,使用循环获取每一位二进制位数,并让二进制位与1比较,如果相同则忽略,不同则个数增加。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int a = 0; int b = 0; int count = 0; scanf("%d %d",&a,&b); for (int i = 0; i < 32; i++) { if (((a >> i) & 1) != ((b >> i) & 1))//使用>>获取32为二进制位,分别与1比较,两者不证明不同 { count++; } } printf("%d",count); return 0; }