Java如何使用一元按位补码“〜”运算符?
一元按位补数运算符(~)反转位模式;它可以应用于任何整数类型,每个0a1和每个1a0。
例如,整数包含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