加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#使用按位XOR进行交换

发布时间:2020-12-15 19:59:34 所属栏目:百科 来源:网络整理
导读:void swap(ref int x,ref int y){ x = x ^ y; y = y ^ x; x = x ^ y; } 我正在学习按位异或.这种交换是如何发生的?这让我大吃一惊.这个方法应该交换X和Y的内容,但我不明白AT ALL会发生什么? 解决方法 谨防.这种方法有一个非常讨厌的属性.它被用于其中一项U
void swap(ref int x,ref int y)
{       x = x ^ y;   y = y ^ x;   x = x ^ y;  }

我正在学习按位异或.这种交换是如何发生的?这让我大吃一惊.这个方法应该交换X和Y的内容,但我不明白AT ALL会发生什么?

解决方法

谨防.这种方法有一个非常讨厌的属性.它被用于其中一项Underhanded C Contest参赛作品.它会愉快地工作……直到有一天有人尝试交换两个数组元素a [i]和[j]之类的东西,而不保证i!= j.

当两个引用引用相同的变量时,此方法将其归零.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读