说说异或运算^和他的一个常用作用

发表于:2007-07-04来源:作者:点击数: 标签:
刚刚学到的.呵呵 说说异或运算^和他的一个常用作用。 异或的运算方法是一个二进制运算: 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
刚刚学到的.呵呵

说说异或运算^和他的一个常用作用。
 异或的运算方法是一个二进制运算:
 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;
 }

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

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

原文转自:http://www.ltesting.net