3
我是通过一些C代码,在网上写和整个以下行来阅读:检查NOT XOR的布尔状态与检查等价性是否相同?
if(!(array[index]^array[index - 1]))
^运算是按位异或,所以我读这条线说,它将返回true,如果“数组值在索引是不是不同于在以前的索引值。“简化后,我将其读作“如果索引处的数组值与前一索引处的数组值相同”。
当我看到它这样,它似乎是一个过于复杂的方式来写:
if(array[index] == array[index - 1])
难道这些表情一样吗?如果不是,那为什么?如果我没有误读它,我得到的最好的解释是,由于该代码涉及时钟信号的中断,因此它需要很快。也许按位操作比在==
后面的幕后操作更快?
这是有点关系:http://stackoverflow.com/questions/7054124/is-there-xnor-logical-biconditional-operator -in-c –
也许这只是一些代码混淆 –