关于抑或运算

Oprah ·
更新时间:2024-09-21
· 500 次阅读

可参考一道ctf题:https://blog.csdn.net/weixin_43900387/article/details/104385130

python异或运算用^表示:

大致原理是:讲数字转为二进制然后,每个位上进行运算

0^0=0,1^0=1,0^1=1,1^1=0

如 :

9的二进制:1001   5的二进制:101

竖式计算: 

                     9:   1001
                     5:   0101
    抑或结果:12:  1100--->得到二进制数,十进制为12

然后有个很好玩的规律,ctf题中遇到了

假设有两个数x,y

那么x^y^y=x本身

原因就拿二进制解释:

1^1^1=1 , 0^0^0=0 1^0^0=1 , 0^1^1=0

每一位上的数都是如此对应,所以二进制整体也就保持不变

A xor B xor B = A xor (B xor B) = A xor 0 = A 也可验证结论成立 说明异或运算是可逆求的,也就解决了那个题
作者:何止.



或运算

需要 登录 后方可回复, 如果你还没有账号请 注册新账号