我的问题在于转码a^原a=原b,为什么会得到原b?
二级必过!!! 圈内达人 2015-09-03 11:52:11
1561 1 0

blob.png

问题来自: 位运算

共 1 个回答

    最佳答案

    嘿嘿大人 一代宗师 3173天前

    首先,你要明白异或运算具有可逆性:一个数字A与同一个数字B进行异或运算两次,等于原来的数A

    a=a^b执行过后,a=a^b;[1]

    b=a^b执行时将【1】代入得到b=a^b^b=a【2】

    a=a^b执行时将【1】和【2】代入得到a=a^b^a=b

    至此完成了数字的交换,能理解么?

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题