java異或運算

原文地址:java異或運算
html

作Java這麼久,還真的歷來沒有用到過某些基礎的Java知識。今天就遇到了一個:Java的異或運算^,這個小不點「^」就是Java的異或運算符,是否是有點小,再來個大點的看得清楚:java

   真^假=真  假^真=真  假^假=假  真^真= 假,這四個是在網上copy的例子,但它倒是說明了Java異或運算的基本法則,那就是:只要兩個條件同時爲真或假,其結果都爲假(這裏要注意區別 Java的與運算---其爲真真爲真,假假爲假);但僅當兩條件中一個爲真,另外一個爲假時,結果爲真(感受有點叛逆哦?不合常理,不走尋常路)。但 Java的異或運算還有一個前提那就是它都是以二進制數據爲基礎進行的運算。也就是說當咱們在使用代碼中使用到異或運算時,它都會先將兩個條件進行轉換, 轉換成二進制數據後,再進行運算,例如:spa

int a = 4^6;這裏的4和6 都是int型數據,在進行運算時,4對應的二進制數爲:100(0100);6對應的是:110(0110),這樣實際的運算方程是:int a = 0100^0110;此時再來看:0<-->0=0;1<-->1=0;0<-->1=1;0<-->0=0;這樣運算的結果就是:0010(這是二進制的數據),對應轉換成十進制就是2.htm

   這就是Java裏面對於異或運算的內部運算機制。blog

相關文章
相關標籤/搜索