首页
社区
课程
招聘
这个如何反求?
发表于: 2005-9-13 08:53 3593

这个如何反求?

2005-9-13 08:53
3593
x,y,seeda,seeb都为16进制的数字,已知x,seeda,seeb
如何求y?

运算关系为
x xor  seeda == y xor seedb

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 201
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
xor   x,seeda ;得到一个新的16位数x
xor   ebx,ebx
inc   ebx
xor   edi,edi
.while edix<32    ;按位取值(我假设你的数是32位)
   .if x & ebx   ;当新数第edi位为1时
        .if  !seedb & ebx ;当seedb 第edi位为0时,得出y的第i位为1
             or y ,ebx
        .endif
    .else
        .if  sendb  & ebx ;当seedb 第edi位为1时,得出y的第i位为1

             or y,ebx
        .endif
    .endif
    inc  edi              ;计算+1
    shl  ebx,1            ;左移一位
.endw

循环结束后,就得出y的值

菜鸟试着写点,如有错误之处,高手还请指点
2005-9-13 10:00
0
雪    币: 201
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
汗,异或...

如果
x xor y = z
可以得出
x xor z = y
2005-9-13 10:14
0
雪    币: 300
活跃值: (417)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
y = x xor  seeda  xor seedb
2005-9-13 10:17
0
雪    币: 442
活跃值: (1246)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
5
xor运算有以下性质:
结合率: (a ^ b) ^ c = a ^ ( b ^ c )
交换率: a ^ b = b ^ a
另外: a^0 = a , a^a = 0

由此可知:
   a^x = b
=> a^x^x = b^x
=> a^(x^x) = b^x
=> a^0 = b^x
=> a = b^x
2005-9-13 10:48
0
游客
登录 | 注册 方可回帖
返回