变量交换:巧用异或运算

变量交换:巧用异或运算异或今天介绍一个有意思的数学运算 异或 异或 通常用于逻辑运算 和它比较相似的是 或 或 的运算法则 若 x y 有一个值为 1 则或的结果的 1 异或 的运算法则为 若 x y 两个值相同 则异或结果为 0 若 x y 两个值不相同 异或结

大家好,欢迎来到IT知识分享网。

变量交换:巧用异或运算

异或

今天介绍一个有意思的数学运算:异或

“异或”通常用于逻辑运算,和它比较相似的是“或”。

的运算法则:

  • 若 x、y 有一个值为1,则或的结果的1。

异或 的运算法则为:

  • 若 x、y 两个值相同,则异或结果为0;
  • 若 x、y 两个值不相同,异或结果为1。
变量交换:巧用异或运算

异或的性质:一个数与其本身异或等于0,0与任何数异或不改变该数

或、异或运算的程序示例如下:

变量交换:巧用异或运算

即:

  • x|y = 3|5 = 011 | 101 = 111 = 7
  • x^y = 3^5 = 011 ^ 101 = 110 = 6

变量交换:巧用异或运算

在需要交换两个变量的值时,通常可以使用中间变量进行交换外,代码如下图所示:

变量交换:巧用异或运算

其实,还可以利用异或,将两个变量进行交换,代码如下图所示:

变量交换:巧用异或运算

即:

  • tmp = x^y = 3^5 = 011 ^ 101 = 110
  • tmp ^ x = 110 ^ 011 = 101 = 5
  • tmp ^ y = 110 ^ 101 = 011 = 3

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/164884.html

(0)
上一篇 2024-12-28 21:33
下一篇 2024-12-28 22:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信