二进制运算问题,高人帮忙看看! ( x1 + x2 ) xor x2 = x3现在已知 x1 和 x3 如可求得 x2的值? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 拜托如果你的等号是等于的意思的话:简化后是x1*(!x2)==x3你自己可以搞定了吗 a xor b =a*(!b) + (!a)*b!(a+b)=(!a)*(!b)a*(!a)=0 我的代码:#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) ; } 不一定有解啊,就如x1 = 0, x3 != 0,则x2肯定没解 nod我只是根据题目给出了程序的实现就问题来说确实存在无解的情况你说得没错还有多解的情况:x1=x3=0的时候,x2可以任意值 如何监控文件的生成? 散个分,攒点人品 MFC静态分割窗口的问题 为什么在视图类中使用GetClipBox()总是得到客户区的大小? 请问怎样在LIstBox中加入图标和CheckBox 菜问题,控件ID的 按Esc,对话框就消失。触发了什么事件?和OnCancel同一个事件处理函数吗? 为什么重启机器后,我写的注册表信息就丢失了? 如何在对话框中滚动地显示BMP图像? vs 2008 int to unsigned char *数组 怎么样获取鼠标信息 当鼠标焦点在按钮上时显示手的标志! 那位高手能介绍一下在校做兼职的经过(来者有分)
!(a+b)=(!a)*(!b)
a*(!a)=0
#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) ;
}
就问题来说确实存在无解的情况
你说得没错还有多解的情况:x1=x3=0的时候,x2可以任意值