异或^的意义及其应用

一、异或

1、异或是一个数学运算符。他应用于逻辑运算。

2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。

3、在计算机应用中,普遍运用,异或的逻辑符号 ^  (Shift + 6).形象表示为:

真^假=真

假^真=真

假^假=假

真^真=假

或者为:

True ^ False = True

False ^ True = True

False ^ False = False

True ^ True = False

部分计算机语言用1表示真,用0表示假,所以两个字节按位异或如下

00000000

异或

00000000

=

00000000

============我是分界线============

11111111

异或

00000000

=

11111111

=============我还是分界线=============

00000000

异或

11111111

=

11111111

===========又是我。。。================

11111111

异或

11111111

=

00000000

=============分界线=====================

00001111

异或

11111111

=

11110000

========================================

所以 按位异或 也常用于字节取反操作。

---------------------------------------------------------------

异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.

例如:

a=9;

b=10;

a=a^b;

b=b^a;

a=a^b;

结果是a为10,b为9.

4、说说异或运算^和他的一个常用作用。
异或的运算方法是一个二进制运算:
1^1=0
0^0=0
1^0=1
0^1=1

两者相等为0,不等为1.

这样我们发现交换两个整数的值时可以不用第三个参数。
如a=11,b=9.以下是二进制
a=a^b=1011^1001=0010;
b=b^a=1001^0010=1011;
a=a^b=0010^1011=1001;
这样一来a=9,b=13了。


举一个运用, 按一个按钮交换两个mc的位置可以这样。

mybt.onPress=function()
{
mc1._x=mc1._x^mc2._x;
mc2._x=mc2._x^mc1._x;
mc1._x=mc1._x^mc2._x;
//
mc1._y=mc1._y^mc2._y;
mc2._y=mc2._y^mc1._y;
mc1._y=mc1._y^mc2._y;
}

这样就可以不通过监时变量来传递了。

最后要声明:只能用于整数。

 

 

转载于:https://my.oschina.net/pracy87/blog/2987

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值