一元按位补数运算符(~)反转位模式;它可以应用于任何整数类型,每个0a1和每个1a 0。
例如,整数包含32位;将此运算符应用于位模式为的值,00000000000000000000000000001000会将其模式更改为11111111111111111111111111110111。
package org.nhooo.example.fundamental; public class UnaryBitwiseComplementOperator { public static void main(String[] args) { // 整数类型包含32位信息。 // 8 = 00000000000000000000000000001000 int number = 8; System.out.println("number = " + number); System.out.println(Integer.toBinaryString(number)); // 使用〜运算符可通过更改 // 每个“ 0”到“ 1”以及每个“ 1”到“ 0”。"0" to "1" and every "1" to "0". // 00000000000000000000000000001000 // 11111111111111111111111111110110111 // int invertedNumber = ~number; System.out.println("invertedNumber = " + invertedNumber); System.out.println(Integer.toBinaryString(invertedNumber)); } }
代码段的结果:
number = 8 1000 invertedNumber = -9 11111111111111111111111111110111