JAVA位运算符示例详解:与、或、异或、非、左移、右移、无符号右移

JAVA位运算符示例详解:与&、或|、异或^、非~、左移<<、右移>>、无符号右移>>>

对比表

位运算符用于整型操作数与结果数,基于其二进制编码进行运算
位运算符基于二进制编码的运算方式
&二进制位逐位进行与&运算,仅1&1结果位1,其余为0
|二进制位逐位进行或|运算,仅0|0结果为0,其余为1
^二进制位逐位进行异或^运算
~各二进制码按补码位逐位取反(~只有右侧一个操作数)
<<将左侧操作数的二进制码 左移 右侧操作数数值个(表示几个)位数,高位丢弃,空位补0
>>将左侧操作数的二进制码 右移 右侧操作数数值个(表示几个)位数,低位丢弃,高位原先是1补1,原先是0补0
>>>将左侧操作数的二进制码 右移 右侧操作数数值个(表示几个)位数,低位丢弃,高位永远补0

class BitAnd{
	// 位运算符操作整型数据
	// 与
	public static void main(String[] args){
		int a = 12int b = 5;
		System.out.println("a & b :" + (a & b));	
	}	
}
// 输出:a & b :4

class BitOr{
	// 位运算符操作整型数据
	// 或
	public static void main(String[] args){
		int a = 12int b = 5;
		System.out.println("a | b :" + (a | b));	
	}	
}
// 输出:a | b :13

异或

class BitXor{
	// 位运算符操作整型数据
	// 异或
	public static void main(String[] args){
		int a = 12int b = 5;
		System.out.println("a ^ b :" + (a ^ b));	
	}	
}
// 输出:a ^ b :9

class BitNot{
	// 位运算符操作整型数据
	// 非
	public static void main(String[] args){
		int a = 12int b = 5;
		System.out.println(" ~a :" + (~a));	
	}	
}
// 输出:~ a:-13

左移

class BitMove{
	//位运算符操作整型数据
	// << 在一定范围内,每左移1位,相当于*2
	public static void main(String[] args){
		int i = 88;
		int j;
		j = i << 2;
		System.out.println("i << 2 = " + j);
	}	
}
// 输出:i << 2 = 352

右移

class BitMove{
	//位运算符操作整型数据
	// >> 在一定范围内,每右移1位,相当于/2
	public static void main(String[] args){
		int i = 88;
		int j;
		j = i >> 2;
		System.out.println("i >> 2 = " + j);
	}	
}
// 输出:i >> 2 = 22

无符号右移

class BitMove{
	//位运算符操作整型数据
	// >>> 正数在一定范围内,每右移1位,相当于/2
	public static void main(String[] args){
		int i = 88;
		int j;
		j = i >>> 2;
		System.out.println("i >>> 2 = " + j);
	}	
}
// 输出:i >>> 2 = 22


class BitMove{
	//位运算符操作整型数据
	// >>> 负数无实际意义
	public static void main(String[] args){
		int i = -88;
		int j;
		j = i >>> 2;
		System.out.println("i >>> 2 = " + j);
	}	
}
// 输出:i >>> 2 = 1073741802
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值