The bitwise operator is primarily for binary, and it includes: "and", "Non", "or", "XOR". On the surface it seems a bit like a logical operator, but the logical operator is a logical operation on two relational operators, while the bitwise operator is mainly for the bits of two binary numbers. Each bit operator is described in detail below.
1. With the operator and operator denoted by the symbol "&", its use is as follows: two operand median is 1, the result is 1, otherwise the result is 0, such as the following program segment. public class Data13 {public static void main (string[] args) {int a=129; int b=128; System.out.println ("A and B" with the result is: "+ (a&b)); The result of running results A and B is: 128 The following analysis of the program: "A" value is 129, converted to binary is 10000001, and "B" value is 128, converted to binary is 10000000. According to the operator's operation Law, only two bits are 1, the result is 1, you can know the result is 10000000, that is, 128.
2. Or operator or operator with the symbol ' | ' , its operation law is as follows: Two bit as long as one is 1, then the result is 1, otherwise 0, see a simple example below. public class Data14 {public static void main (string[] args) {int a=129; int b=128; System.out.println ("A and B" or the result is: "+ (a|b)); The result of running results A and B is: 129 The following analysis of this program segment: The value of A is 129, converted to binary is 10000001, and the value of B is 128, the conversion to binary is 10000000, according to the operator's operation Law, only two bits have a 1, the result is 1, You can tell that the result is 10000001, or 129.
3. The non-operator non-operator is denoted by the symbol "~", and its Operation law is as follows:
If the bit is 0, the result is 1, if the bit is 1, the result is 0, see a simple example below. public class Data15 {public static void main (string[] args) {int a=2; SYSTEM.OUT.PRINTLN ("A non-result is:" + (~a)); } }
4. Xor operator XOR operator is denoted by the symbol "^", its Operation law is: two operands of the bit, the same result is 0, different result is 1. Let's look at a simple example. public class Data16 {public static void main (string[] args) {int a=15; int b=2; System.out.println ("A and B xor the result is:" + (a^b)); The result of running results A and B is: 13 Analysis of the above program segment: The value of a is 15, converted to binary 1111, and the value of B is 2, converted to binary 0010, according to the different or the Operation law, can be derived from the result of 1101 is 13.
Java bit operators in-depth examples-with (&), non-(~), or (|), XOR (^)