首页 > 其他 > 详细

两数二进制bit位不同个数

时间:2015-10-16 19:05:14      阅读:159      评论:0      收藏:0      [点我收藏+]

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位不同个数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!