[C语言]求两数二进制序列不同的位
程序员文章站
2022-10-30 19:14:59
1.模除实现:
#include
int main()
{
int m, n, i, x, y ,count=0;
print...
1.模除实现: #include<stdio.h> int main() { int m, n, i, x, y ,count=0; printf("请输入m,n:"); scanf_s("%d%d", &m, &n); for (i = 31; i >= 0; i--) { x = m % 2; m = m / 2; y = n % 2; n = n / 2; if (x != y) //通过循环比较每一位是否相等 { count++; } } printf("不同的bit位有%d个\n",count); system("pause"); return 0; } 2.移位运算实现: #include<stdio.h> int main() { int m, n; int i=32,count=0; printf("请输入m,n:"); scanf_s("%d%d", &m, &n); int j = 0; while (i) { int a, b; a = ((m >>j)& 1); //右移一位和1相与,再比较 b = ((n >>j)& 1); if (a != b) { count++; } j++; i--; } printf("不同的bit位有%d个\n", count); system("pause"); }
上一篇: js小项目展示:网页换肤代码实现
下一篇: 李白一生到处游山玩水,他的银子哪儿来的?