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 operator
And the operator is denoted by the symbol "&", which uses the following rules:
The two operands have a bit of 1 and the result is 1, otherwise the result is 0, for example, the following program segment.
Public class data1{public staticvoid main (string[] args) {int a=129; int b=128; System.out.println ("A and B" with the result is: "+ (a&b));}}
Run results
A and B with the result is: 128
The following analysis of this program:
The value of "a" is 129, converted to binary is 10000001, and the value of "B" 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 "|" Shows that its operation law is as follows:
Two bits as long as there is a 1, then the result is 1, otherwise 0, see a simple example below.
Public class data2{public staticvoid main (string[] args) {int a=129; int b=128; System.out.println ("A and B" or the result is: "+ (a| b));}}
Run results
A and B or the result is: 129
The following analysis of this program segment:
The value of a is 129, the conversion to binary is 10000001, and the value of B is 128, converted to binary is 10000000, according to the operator's operation Law, only two bits have a 1, the result is 1, you can know the result is 10000001, that is 129.
3. Non-operator
The 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 data3{publicstaticvoid main (string[] args) {int a=2; System.out.println ("a non-result is:" + (~a));}}
4. Xor operator
The XOR operator is denoted by the symbol "^", and its Operation law is:
The two operand bits, the same result is 0, and the result is 1. Let's look at a simple example.
Public class data4{public staticvoid main (string[] args) {int a=15; int b=2; System.out.println ("A and B xor the result is:" + (a^b));}}
Run results
The result of A and B xor 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.
Bitwise operators of Java--with (&), non (~), or (|), XOR (^)