码迷,mamicode.com
首页 > 其他好文 > 详细

两数二进制bit位不同个数

时间:2015-10-16 19:07:20      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:c

1、编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 

#include<stdio.h>
#include<string.h>
int bits_compare(int num1,int num2)
{
	int a[32]={0};
	int b[32]={0};
	int i=0;
	int count=0;

	for(i=0;i<32;i++)//num1 二进制转化
	{
		a[i]=num1%2;
		num1=num1/2;
	}
	printf("1 二进制: ");
	for(i = 31;i >= 0;i --)//调整格式并输出结果
	{
		printf("%d",a[i]);
		if(i%4 == 0)
		{
			printf(" ");
		}
	}
	printf("\n");

	for(i=0;i<32;i++)//num2 二进制转化
	{
		b[i]=num2%2;
		num2=num2/2;
	}
	printf("2 二进制: ");
	for(i = 31;i >= 0;i --)
	{
		printf("%d",b[i]);
		if(i%4 == 0)
		{
			printf(" ");
		}
	}
	printf("\n");

	for(i=0;i<32;i++)//比较
	{
		if(a[i]!=b[i])
		{
			count++;
		}
	}
	printf("count=%d\n",count);
}
int main()
{
	int m=0,n=0;
	int count=0;
	int arr1[32]={0},arr2[32]={0};
	printf("请输入两数m、n: ");
	scanf("%d%d",&m,&n);
	bits_compare(m,n);
	return 0;
}

本文出自 “花开彼岸” 博客,请务必保留此出处http://zxtong.blog.51cto.com/10697148/1703538

两数二进制bit位不同个数

标签:c

原文地址:http://zxtong.blog.51cto.com/10697148/1703538

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!