2012年8月3日
摘要: 我们都知道通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:a=10100001,b=00000110 a=a^b; //a=10100111 b=b^a; //b=10100001 a=a^b; //a=00000110这段代码该怎么去理解呢?我们可这样去理解,比如我们可以增加一个变量c,c = a^b。我们可以很容易的发现a,b,c任意2个取异或会得到另一个数。那么上面这一段代码就很好理解了。a = a^b = cb = b^c =a(初始值的a)a = a^b =c^a(初始值的a) = b(初始值的b)。 阅读全文
posted @ 2012-08-03 16:55 zmmr 阅读(540) 评论(2) 推荐(0) 编辑