天天看点

位运算和位移运算

  1. 按位与&
  2. 按位或|
  3. 按位取反~
  4. 按位异或^
  5. 左移 <<

    a<<b:将二进制形式的a逐位左移b位,最低位空出来的b位用0补齐;

    结果:位移数b作为2的幂次与操作数a相乘。

  6. 带符号右移 >>

    a>>b:将二进制形式的a逐位右移b位,最高位空出来的b位用符号位补齐

    结果:操作数a除以位移数b的2次幂

  7. 无符号右移 >>>

    a>>>b:将二进制形式的a逐位右移b位,最高位空出来的b位用0补齐

  • 计算16*4最快速的方法

使用位移方法是最快的:System.out.println("16<<2");

  • 交换两个数的方式

(1)通过第三个变量

(2)a=a+b-(b=a)

  (3)a=a+b;b=a-b;a=a-b;

  (4)速度最快:a=a^b;b=a^b;a=a^b;(a与b必须不同 )

继续阅读