cleey
望着那一丝海线,若隐若现。落日下的海霞,数不尽的美,看不完的醉
^= 关于异或的解释和应用

异或:相同为零,不同为1

如果a、b两个值不相同,则异或结果为1。

如果a、b两个值相同,异或结果为0。

应用直接的场景

我们使用一个a、b互换值,来证明下异或运算符

<?php
$a = 14;
$b = 15;
$a ^= $b;
$b ^= $a;
$a ^= $b;
echo $a,' ',$b,"\n";
return;

结果:

15 14

我们分析下异或的过程:

a 1110
b 1111

a ^= b  // a为 a和b相差的值,b没变
a 0001
b 1111 

b ^= a  // 根据相差的值算出 原来的a,赋值给b 
b 1110
a 0001

a ^= b  // 根据相差的值算出 原来的b,赋值给a
a 1111
b 1110

过程就是这样清晰点没,在捋捋就好了。

<< 上一篇 thinkphp 3.1和 3.2的区别 PHP微信支付功能 下一篇 >>
文章标签
随意 | Created At 2014 By William Clinton | 蜀ICP备14002619号-4 |