位運算效率最高!
異或 ^
小應用:資料加密解密
乙個數異或另乙個數兩次,則還原
a^b^b = a
a^b --->加密 c^b = a --->解密
左移 <<
左移n位等效於 乘以2的n次冪 , 3<<2 = 3*2*2
右移 >>
右移一位等效於 除以2, 8>>2 = 8/2/2
被移動的高位用原來的高位來補,原來是0就用0補,是1就用1補,保證符號位不變
無符號右移動 >>>
>>>與》的區別:
不論高位是0還是1,都用0來補高位。
小應用
不使用第三變數,互動2個數的值
第一種方案,異或
public static void main(string args)
第二種方案,求和,存在超過資料型別範圍的可能
public static void main(string args)
第三種方案,求差
public static void main(string args)
java基礎 位運算,條件運算
只有整型數才能作位運算 相當於乘2 相當於除2 如 double a 5 a a 3 error 必須是整型數才可以位運算 system.out.println a 運算子 x 先運算,後自增 x 先自增,後運算 短路與,當前乙個條件為false時,後乙個條件不運算 按位與,當前乙個條件為false...
Java 中的位運算
移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2 2 2 完全相同。5 3 ...
Java 中的位運算
計算機中的原碼 反碼和補碼 移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2...