The unary bitwise complement operator (~
) inverts a bit pattern; it can be applied to any of the integral types, making every 0
a 1
and every 1
a 0
.
For example, an integer contains 32 bits; applying this operator to a value whose bit pattern is 00000000000000000000000000001000
would change its pattern to 11111111111111111111111111110111
.
package org.kodejava.basic;
public class UnaryBitwiseComplementOperator {
public static void main(String[] args) {
// An integer type contains 32 bit information.
// 8 = 00000000000000000000000000001000
int number = 8;
System.out.println("number = " + number);
System.out.println(Integer.toBinaryString(number));
// Using the ~ operator inverts the number by change the
// every "0" to "1" and every "1" to "0".
// 00000000000000000000000000001000
// 11111111111111111111111111110111
//
int invertedNumber = ~number;
System.out.println("invertedNumber = " + invertedNumber);
System.out.println(Integer.toBinaryString(invertedNumber));
}
}
The result of the code snippet:
number = 8
1000
invertedNumber = -9
11111111111111111111111111110111
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024