能力值:
( 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的值
菜鸟试着写点,如有错误之处,高手还请指点
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
汗,异或...
如果
x xor y = z
可以得出
x xor z = y
|
能力值:
( LV9,RANK:410 )
|
-
-
4 楼
y = x xor seeda xor seedb
|
能力值:
( 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
|
|
|