1)"^":按位異或:將整型資料轉換成二進位制後再取兩個數的異或值。
2)"~":按位取反:將整型資料轉換成二進位制後再取反。
舉個例子:int i = 5;int j = 10;system.out.println(i + ~j);//輸出-6
解釋:1)根據公式:-n=~n+1可推出~n=-n-1,所以~10=-11再加5結果為-6
2)使用原始碼補碼反碼知識:原碼才可以對應為正常的整數,補碼只有轉換為原碼才能被正常人類識別(計算機本身儲存的是補碼)
計算機本身儲存的是補碼:10的補碼就是10的原碼(正數的三種都一樣):10的補碼:0000000000001010
~10的補碼就是:1111111111110101
~10的反碼就是:1111111111110100(補碼減一)
~10的原碼就是:1000000000001011(反碼取反,最前一位是符號位)
3)"l":按位或(區分一下邏輯或ll)
"|"和"||"的區別就在於:(a|b)無論|前面是否為false,後面的都執行;而(a||b)如果a表示式為true的話,後面的就不執行了。所謂的短路功能(檢測false)也是這個意思:具備短路功能的,會先檢測前面,成立(為false)再檢測後面。不具備短路功能的話就會檢查每乙個條件。
4)"&":按位且(區分一下邏輯且&&)
"&"和"&&"的區別就在於:(a&b)無論&前面是否為true,後面的都執行;而(a&&b)如果a表示式為false的話,後面的就不執行了。所謂的短路功能(檢測true)也是這個意思:具備短路功能的,會先檢測前面,成立(為true)再檢測後面。不具備短路功能的話就會檢查每乙個條件。
3)左移<<:補0,相當於乘以2
4)右移》:補符號位,相當於除以2
5)無符號右移》:補0
6)%取餘操作,只適用於整型
7
shell運算子操作 算術運算子
a 10 b 20 echo a b expr echo a b expr echo a b expr echo a b expr echo a b expr if a b then echo a等於b else echo a不等於b fiif a b then echo a不等於b else ec...
(運算子) 運算子
運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...
Python2語法簡記(3) 運算子
支援運算子 算術 比較 賦值 邏輯 位 成員 身份 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 算術運算子 冪,取整數 加 減 乘 除 取模 冪 返回x的y次冪。例如 10 2為10的2次方 取整數 返回商的整數部分 向下取整 例如 9 2 為4,9 2...