Home >Java >javaTutorial >Java bit operations (shift, bitwise AND, OR, XOR, NOT)
public class Test {
public static void main(String[] args) {
// 1. Shift left ( << )
// 0000 0000 0000 0000 0000 0000 0000 0101 Then shift left by 2 bits and fill in the low bit 0: //
// 0000 0000 0000 0000 0000 0000 0001 0100 converted to decimal is 20
System.out.println(5 << 2); // The running result is 20
// 2. Right Shift ( >> ) high-order complement sign bit
// 0000 0000 0000 0000 0000 0000 0000 0101 Then shift right by 2 bits, high-order complement 0:
// 0000 0000 0000 0000 0000 0000 0000 0001
System.out.println( 5 >> 2);//The operation result is 1
// 3. Unsigned right shift ( >>> ) The high bit is filled with 0
// For example, -5 is converted to binary: 0101, negated Add 1 to 1011
// 1111 1111 1111 1111 1111 1111 1111 1011
// We right shift 5 by 3 bits, -5 by 3 bits and unsigned right shift by 3 bits respectively:
System.out.println( 5 >> 3); // The result is 0
System.out.println(-5 >> 3); // The result is -1
System.out.println(-5 >>> 3); // The result is 536870911
// 4. Bit AND ( & )
// Bit AND: The nth bit of the first operand is located at the nth bit of the second operand. If both are 1, then The nth result is also 1, otherwise it is 0
System.out.println(5 & 3);// The result is 1
System.out.println(4 & 1);// The result is 0
// 5. Bitwise OR ( | )
// The nth bit of the first operand is located in the nth bit of the second operand. As long as one of the nth bits is 1, then the nth bit of the result is also 1, otherwise it is 0
System .out.println(5 | 3); // The result is 7
// 6. Bit XOR ( ^ )
// The nth bit of the first operand is opposite to the nth bit of the second operand , then the nth bit of the result is also 1, otherwise it is 0
System.out.println(5 ^ 3); //The result is 6
// 7. Bit not ( ~ )
// The nth bit of the operand If the bit is 1, then the nth bit of the result is 0, and vice versa.
System.out.println(~5);//The result is -6
}
}
More Java bit operations (shift, bit AND, OR, XOR, NOT) related Please pay attention to the PHP Chinese website for articles!