^(异或)字符详解

        提到这个^(异或)字符相信大多数人还是比较陌生的,毕竟平时用的实在是太少了。可是关键时候它却可以起到奇效。

        异或字符呢针对的是数字在二进制中的变化,跟&(按位与)和 | (按位或)一样,不过区别是它的功能是让让二进制中同一位置上的数字相同为0,不同为1.   拿两个数举例:

 通过这段代码我们可以明白了异或的原理,那么它实际中有什么用处呢?

        既然设计师设计了这个操作符,那么肯定有他的用途,曾经有过一个公司的笔试题就曾考过异或这个操作符:不创建临时变量来交换两个数的值。

        相信第一个看到这个题的人都有些蒙,因为我们都知道要交换变量必须使用一个临时变量,犹如我们要交换一瓶酱油和一瓶醋,必须使用一个空瓶,现在不让创建临时变量可怎么办呢?这里就需要我们的异或闪亮登场了:

 我们可以看到短短三行代码,a和b的值直接交换了,这是为什么呢?下面我们来深入解读一下:

再说这个前,我们先看看这段代码:

那么我们来运行一下看看:

 这里看到a的结果是6,我想现在肯定有不少小伙伴已经明白了,不过我们还是把它的处理过程再写出来

 这里大家可以看出,异或好像有点消消乐的功能,如果有一样的数字,就会把它消掉,那么现在我们再来看前面那段交换a b的代码

 现在看出^(异或)的神奇之处了吧。

        好了,今天的介绍就到这了,喜欢的朋友记得点赞哦!

        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值