社区
图形处理/算法
帖子详情
二进制运算问题,高人帮忙看看!
artman
2003-07-08 09:05:28
( x1 + x2 ) xor x2 = x3
现在已知 x1 和 x3 如可求得 x2的值?
...全文
126
13
打赏
收藏
二进制运算问题,高人帮忙看看!
( x1 + x2 ) xor x2 = x3 现在已知 x1 和 x3 如可求得 x2的值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
artman
2003-07-09
打赏
举报
回复
我的问题不是逻辑运算。
我之前还真没注意到有无解的情况,谢谢!
HUNTON
2003-07-08
打赏
举报
回复
我解的情况是很多,比如 X1 = 0, X3 != 0,就肯定无解了
SeainBlue
2003-07-08
打赏
举报
回复
不过还是有很多情况无解的,当然实在一定范围内,比如8位或者16位
是不是所有位数以内都没有解,我现在无法确定
artman
2003-07-08
打赏
举报
回复
to SeainBlue(爱海):
你的方法最实际,我目前就是这么做的,可能这是最直接/最有效的办法。我需要的运算单位是字节,最大循环256次就够了,这种方法应该没问题。
这个问题不会无解吧,我只要得到一个x2的值就行了。
to DeautyFan(悲情浪子) GoldenSword(金错刀):
你们说的是逻辑运算。
SeainBlue
2003-07-08
打赏
举报
回复
次问题好像很多无解的情况
另外还有多解的情况:x1=x3=0
很显然( x1 + x2 ) xor x2 = x3
而无论x2是什么值
SeainBlue
2003-07-08
打赏
举报
回复
a=4,b=5,c = 13
b = !c???
不对吧
GoldenSword
2003-07-08
打赏
举报
回复
(a+b) XOR b = !((a+b)* b) = !(a+b)+!b = !a*!b+!b + !b(1+!a) = !b = c
-----> b = !c;
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
打赏
举报
回复
如果是与运算,这道题就没有任何计算的意义了
楼主说对不对啊
SeainBlue
2003-07-08
打赏
举报
回复
看问题了!!!
问题问的是什么?
求解x2!
我的算法除了运算范围以外没有什么错误了
skybblue
2003-07-08
打赏
举报
回复
( x1 + x2 ) xor x2 = x3 如果是数学表达式,并且是逻辑运算,那么应该这样解释x1与(逻辑加)x2,然后再与x2进行异或运算的结果是x3,如果是这样的话SeainBlue(爱海)的算法就是错误的!
用c语言实现加法
运算
,C语言用位
运算
实现加法
运算
本文详细阐述了如何利用位
运算
(异或与按位与)实现
二进制
加法,通过理解进位机制并借助位操作符,逐步演示了从一位到多位的加法计算过程。C代码实例展示了如何用位
运算
实现简单的加法
运算
,适用于计算机底层理解和编程实践。
c语言三位数加法进位次数计,C语言用位
运算
实现加法
运算
本文介绍了一种使用位
运算
实现加法的方法。通过分析
二进制
数加法的基本原理,提出了利用位
运算
符“^”进行加法
运算
,并通过位与
运算
符“&”判断是否需要进位的算法。该方法适用于不同位数的
二进制
数加法
运算
。
c语言关于
二进制
的输出
本文深入解析了C语言中
二进制
输出的实现方式,并提供了使用自带函数itoa输出
二进制
数时遇到的
问题
解决方案,以及如何避免符号位影响输出。
为什么位
运算
可以实现加法
本文深入探讨了如何仅使用位
运算
实现加法
运算
的原理。通过分析位
运算
中的异或和与
运算
符,结合左移
运算
符模拟进位过程,详细解释了位
运算
实现加法的具体步骤。并通过实例演示了该方法的有效性。
不用算术
运算
符实现两个数的加法(按位异或)
本文介绍了一种使用位
运算
实现
二进制
加法的方法。通过分析位
运算
中的异或(^)和与(&)操作,文章详细解释了如何仅用位
运算
实现加法,并给出具体的例子和C语言代码实现。
图形处理/算法
19,464
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章