输入两个整数,求两个整数二进制格式有多少个位不同?
首先这个问题有多种解法,我来讲述一下我看到这个问题首先想到的一个办法,将这个两个数分别按位与上一个1,得到的数字要是不同,那么我们的统计变量count++;接下来我们将这两个数进行右移,进入下一次循环,代码如下
#includeint main() { int a, b, i; int count = 0; scanf_s("%d%d", &a, &b); for (i = 0; i < 32; i++) { int m, n; m = (a >> i) & 1; n = (b >> i) & 1; if (m != n) { count++; } } printf("%d", count); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)