我是靠谱客的博主 野性大象,最近开发中收集的这篇文章主要介绍应用位异或交换两个变量的值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们知道在程序语言中都有 "^"表示异或,但是我们用到的很少,下面是以Golang语言为例,将a,b的值互换

package main
import "fmt"

//noinspection ALL
func main() {
var a int = 2

var b int = 4

if ( a != b) {
// 1.相当于a = a^b,其实就是(a = 10 ^ 100)

a ^= b
//2.相当于 b = b^a,根据第1步知道 a = a^b,那么下面的等式又可表示为 b =
b^b^a,其实一个数异或自己就是0,任何数和0异或就是他本身

//此时就相当于b = 0^a,所以b = a,这里的a就是我们开始定义的 var a int = 2

b ^= a
//3.a = a^b
可以推导的是=>a = (a^b)^(b^b^a),因为根据第一步我们知道a = a^b 根据第2步我们知道b = b^(b^a),可以得到的结果就是

//a = b,这里的b就是最初我们定义var b int = 4,

a ^= b
fmt.Println(a, b)
}
}

见结果:

最后

以上就是野性大象为你收集整理的应用位异或交换两个变量的值的全部内容,希望文章能够帮你解决应用位异或交换两个变量的值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部