【C言語】2桁のバイナリシーケンスの異なるビットを求める

781 ワード

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 
",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
", count); system("pause"); }