美文网首页
位运算交换两变量

位运算交换两变量

作者: 眼若繁星丶 | 来源:发表于2020-10-08 10:17 被阅读0次

位运算交换两变量


因为 a ^ a = 0, 0 ^ a = a
两次异或不改变原值:a ^ a ^ a = a;

public void swap(int a, int b) {
    a = a^b;
    b = a^b;
    a = a^b;
}

可以简写成:

a ^= b ^= a ^= b;

但不建议这样写,可读性比较差。

相关文章

网友评论

      本文标题:位运算交换两变量

      本文链接:https://www.haomeiwen.com/subject/povcpktx.html