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 –
也許這只是一些代碼混淆 –