二进制运算问题,高人帮忙看看!

artman 2003-07-08 09:05:38
( x1 + x2 ) xor x2 = x3

现在已知 x1 和 x3 如可求得 x2的值?
...全文
88 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeainBlue 2003-07-08
  • 打赏
  • 举报
回复
我的代码:
#include <stdio.h>
#include <stdlib.h>

void myXor(unsigned int x1,unsigned int x3)
{
unsigned int x2 = 0 ;
unsigned int i = 0 ;
for(x2 = 0 ; x2 < 65535 ; x2 ++)
{
if( ((x1+x2)^x2) == x3)
{
printf("%d\n",x2) ;
return ;
}
}
printf("Error!") ;
return ;

}

void main(void)
{
myXor(10,22) ;
}
无敌魔仙 2003-07-08
  • 打赏
  • 举报
回复
a xor b =a*(!b) + (!a)*b
!(a+b)=(!a)*(!b)
a*(!a)=0
无敌魔仙 2003-07-08
  • 打赏
  • 举报
回复
拜托如果你的等号是等于的意思的话:简化后是x1*(!x2)==x3你自己可以搞定了吗
SeainBlue 2003-07-08
  • 打赏
  • 举报
回复
nod

我只是根据题目给出了程序的实现
就问题来说确实存在无解的情况
你说得没错

还有多解的情况:x1=x3=0的时候,x2可以任意值
HUNTON 2003-07-08
  • 打赏
  • 举报
回复
不一定有解啊,就如x1 = 0, x3 != 0,则x2肯定没解

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧