java 中的运算符号

正数的源反补码都相同;
负数的反码是源码的符号位不动,其余按位取反;
负数的补码是在反码的基础上 +1;
(计算机都是按照补码的形式存在的)
常用的基本运算这里就不做介绍了,介绍一下几种:

非位运算(~)
// 按位取反运算符翻转操作数的每一位,即0变成1,1变成0;
int a = 12; //二进制表示:0000 1100
// 按位取反(此时还是补码的形式) 1111 0011
// 反码 -1: 1111 0010
// 源码: 1000 1101 
~a = -13
与位运算(&)
// 如果对应位数都为1则为1,否则为0;
int a = 12; //二进制表示:0000 1100
int b = 20; //二进制表示:0001 0100
a & b = 4;	// 	 与运算: 0000 0100
或位运算(|)
// 相同位数有1的为1,都为0才为0;
int a = 12; //二进制表示:0000 1100
int b = 20; //二进制表示:0001 0100
a | b = 28;	//或运算:	0001 1100
异或位运算(^)
// 如果对应位数相同则为0,否则为1
int a = 12; //二进制表示:0000 1100
int b = 20; //二进制表示:0001 0100
a ^ b = 24;	//或运算:	0001 1000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值