運算符和兩數的交換

運算符和兩數的交換

(一)&和&&,|和||

&&和&:&&是左邊爲false時,右邊不進行運算,結果直接爲false.&是還要對右邊進行運算.

||和|:||是左邊爲truee時,右邊不進行運算,結果直接爲true.|是還要對右邊進行運算.

(二)<<和>>,>>>

位運算效率高,因爲直接對二進制位進行操作.

<<:其實就是乘以2的移動的位數次冪.

>>:就是除以2的移動的位數次冪.(最高位爲1時,補1;最高位爲0補0)

>>>無論最高位爲1還是爲0,都補0.

求二進制負數的整數,將二進制減1取反.(已知一個二進制的整數求負數,取反,加1).

(三)^和兩數互換(不使用第三方變量)

^異或,一個數異或同一個數兩次,結果還是那個數.

不使用第三方變量的兩數互換:

             n=n+m; m=n-m; n=n-m;//如果n和m的值非常大,易超出int範圍.

             n=n^m;  m=n^m; n=n^m;

發佈了35 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章