#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int a;
int b;
int record=0;
int similar=0;
int length=0;
int i=0;
char *p1=malloc(100);
char *p2=malloc(100);
char *p;
char *t;
p=p1;
t=p2;
printf("请输入两个整数\n");
scanf("%d",&a);
scanf("%d",&b);
//p1的记录
while(a%10!=0)
{
printf("a=%d",a);
record=a&1;
*p=record+'0';
a=a>>1;
p++;
}
p=p1;
printf("\n");
printf("%s\n",p1);
//p2的记录
while(b%10!=0)
{
printf("b=%d",b);
record=b&1;
*t=record+'0';
b=b>>1;
t++;
}
t=p2;
printf("\n");
printf("%s\n",p2);
if(strlen(p1)>strlen(p2))
{
length=strlen(p2);
}
else
{
length=strlen(p1);
}
//比较二进制
record=0;
while(*p!='\0'&&*t!='\0')
{
similar=strncmp(p++,t++,1);
if(similar==0)
{
record+=1;
}
}
if(length==record)
{
record=0;
}
else
{
record=length-record;
}
printf("不相同的二进制有:%d",record);
return 0;
}
输入两个正整数A和B,计算这两个数相比较有多少个二进制位不同
最新推荐文章于 2024-09-12 15:39:41 发布