利用异或运算实现两个无符号数的加法运算。

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 110 收藏 0 点赞 0 评论 0

解:   #include <stdio.h>
main()
{
unsigned a,b,c,result,add;
int i;
c=1;
result=0;
add=0;
printf(“input a:”);
scanf(“%0”,&a);
printf(“input b:”);
scanf(“%o”,&b);
for(i=0;i<16;i++)
{
result=result|((a&(c<<i))ˆ(b&(c<<i))ˆadd);
add=(((a&(c<<i))ˆ(b&(c<<i)))ˆ((a&(c<<i))|(b&(c<<i))))<<1;
}
printf(“%0n”,result);
}

解:   #include <stdio.h>

main()

{

unsigned a,b,c,result,add;

int i;

c=1;

result=0;

add=0;

printf(“input a:”);

scanf(“%0”,&a);

printf(“input b:”);

scanf(“%o”,&b);

for(i=0;i<16;i++)

{

result=result|((a&(c<<i))ˆ(b&(c<<i))ˆadd);

add=(((a&(c<<i))ˆ(b&(c<<i)))ˆ((a&(c<<i))|(b&(c<<i))))<<1;

}

printf(“%0n”,result);

}

评论列表
文章目录