24小时热门版块排行榜    

查看: 642  |  回复: 2

wangb2009

至尊木虫 (正式写手)

[求助] 逻辑运算与算数运算转换

首先感谢chentianyu1 在http://muchong.com/bbs/viewthread.php?tid=4642867 中的关于逻辑运算与算数运算转换的解答,即A XOR B =(A - B)* (A - B),但等号的左右两边同为二进制数。我现在想让等号的右边是十进制的数,而等号左边仍然是其对应的二进制数,不知道有没有这样的公式?
回复此楼

» 收录本帖的淘帖专辑推荐

数据结构与算法

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chentianyu1

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
你是说A XOR B中的A和B都是十进制,要求结果是二进制么?
如果A和B都是有上限的,那么可以用一个式子求出来。
假设A和B都小于2^N,Ai的二进制第i位是Ai,则
Ai=(A/2/2..../2)%2(i个除2)  X%2可以写成(X-X/2*2)
然后对Ai和Bi做XOR就可以了。
如果A或B没有范围限制,结果就是无限长度的一个表达式
2楼2012-06-19 18:44:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chentianyu1

木虫 (小有名气)

大概是这个意思,具体的公式可能有些问题
3楼2012-06-19 18:47:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangb2009 的主题更新
信息提示
请填处理意见