7.5 位运算

less than 1 minute read

7.5.1 位运算

含义 Java实例  
按位与 a&b  
按位或 a b
按位异或 a^b  
按位取反 ~a  
左移 a«b  
带符号右移 a»b  
无符号右移 a»>b  
  1. 按位与: 5 & 3, 即0000 0000 0000 0000 0000 0000 0000 0101 & 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0001, 同为1则结果为1, 否则为0
  2. 按位或: 5 3, 0000 0000 0000 0000 0000 0000 0000 0101 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0111, 只要有1, 则结果为1
  3. 位异或: 5 ^ 3, 0000 0000 0000 0000 0000 0000 0000 0101 ^ 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0110, 相反则结果为1, 否则为0
  4. 按位取反: ~5, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为1111 1111 1111 1111 1111 1111 1111 1010, 把1变成0, 0变成1
  5. 左移: 5 « 3, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为0000 0000 0000 0000 0000 0000 0010 1000
  6. 带符号右移:: 5 » 3, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为, 0000 0000 0000 0000 0000 0000 0000 0000