当前位置:C++技术网 > 资讯 > 异或操作的新解:求异性,拒绝搞基

异或操作的新解:求异性,拒绝搞基

更新时间:2016-01-11 00:39:34浏览次数:1+次

     异或操作,很熟悉,也很陌生。很久一段时间不理会它,也就忘记了它的规则。每次一用到它时,就犯晕了。如何是好?

    为了深入骨髓的将其理解并记忆,让你以后用到这个操作符的时候更加明确,也使这个操作符能够用的更加灵活,所以索性来深入分析理解下。

    异或操作的新解:求异性,拒绝搞基

    异或,基本口诀,相同为0,不同为1。这个口诀,如果死劲硬背,实际上是不行的。因为死记硬背,并不能够灵活运用。
    我们从字面上、从形象比喻方面、从使用案例上来加以分析。我们这并不是投机取巧的只是为了记忆而分析,而是事实上的逻辑分析理解。
    从字面上来分析,异或就是先求异,再求或。异表示双方不同,或表示相互包含。异或可以解释阴阳相吸,即性别不同可以相互吸引,这是阴阳结合的道理。这里不要扯搞基的情况!
    不同的得到保留,相同的相互排斥,最后什么也留不下。得到保留的最后就是满的状态,相互排斥就留下的是空空如也。
    这就是异或的根本思想。这个思想在各种竞争中,都要排除与自己实力相当的,兼并与自己实力有差别的。或者在性格上选择自己不足的人交往,以此来弥补自己性格的不足。这是自然界的规律。

    在计算机中,异或的用途也是有很多的。

   先看看求反的例子:

bool isok =false;
isok = !isok;

    isok使用取反实现自反,实现状态的翻转。这是自相矛盾!我们才没有空管他。我们要求偶,求美女呀!这才是重点!

    而异或有求同存异的效果。我们来看看下面的代码:

int iQuestion=1;//不知性别
int iGirl= 1^iQuestion;//男生求异或,表示自己是男的,拒绝搞基
int iBoy= 0^iQuestion;//女生求异或,表示自己是女的,拒绝搞基
    可以把这个表达式看成是求异性的公式。1表示自己是男的,异或之后,只会得到女的。所以,可以清晰的表明自己的性取向。同时,拒绝搞基,表明自己不是双性恋。
    如果换做是其他操作符,要实现这个效果,比较麻烦。这里就不再多说,你可以自己好好体会。