Java中的按位取反操作符(~)

Java中的按位取反操作符(~),表示将数的每个bit位取反,即0变为1,1变为0,符号位也变。
假设数值是x,那么对x按位取反后值变为(-x)-1。
代码示例:

package com.thb;

public class Test1 {
		
	public static void main(String[] args) {
		// 注意:0xFF实际是int型,展开是0x000000FF
		System.out.println("0xFF的值是:" + 0xFF);
		// 按位取反,展开是0xFFFFFF00,注意是补码表示,转换为原码是0x80000100,表示-256
		System.out.println("对0xFF按位取反后的值是:" + (~0xFF));
		// 对对0xFF强制转化为byte型后,展开也是0xFF,这是补码,转换为原码是0x81,表示-1
		System.out.println("对0xFF强制转化为byte型值是:"+ (byte)0xFF);
		// 对(byte)0xFF按位取反,结果是0x00,表示0
		System.out.println("对(byte)0xFF按位取反,值是:" + (~((byte)0xFF)));
	}
}

运行输出:
Java中的按位取反操作符(~)_第1张图片

你可能感兴趣的:(java,开发语言)