记住一个原则,就能记住与运算(&)、或运算(|)和异或运算(^)

每次一看到与或运算的题,都知道是考什么点(按二进制位进行相应运算),但是自己一算,就是会算错,加之之前有一篇字符串反转输出的题,也用到了异或运算,那么,今天就讲解下如何记住这三种运算的运算规则。


与运算(&)原则:同为1则为1,否则为0
0&0=0;  0&1=0;   1&0=0;    1&1=1;

4&7: 0000 0100 & 0000 0111 = 0000 0100 结果为4


附:负数与运算按补码形式参加与运算(负数或运算(|)也是按补码运算)
比如说4的原码是
4原码:0000 0100 7原码:0000 0111
4反码:1111 1011 7反码:1111 1000
4补码:1111 1100 7补码:1111 1001
补码=反码+1 反码=补码-1

-4&-7: 1111 1100 & 1111 1001 = 1111 1000(补码) 换算为反码:1111 0111 换为原码:0000 1000 就是-8

public static void main(String[] args) {
		System.out.println(4 & 7); // 4
		System.out.println(-4 & -7); // -8
		System.out.println(4 | 7); // 7
		System.out.println(4 ^ 7); // 3

	}


或运算(|)原则:只要有1则为1,否则为0
0|0=0;  0|1=1;  1|0=1;   1|1=1;
4|7: 0000 0100 | 0000 0111 = 0000 0111 结果为7

异或运算(^)原则:同0同1都为0,否则为1
0^0=0;  0^1=1;  1^0=1;   1^1=0;
4^7: 0000 0100 ^ 0000 0111 = 0000 0011 结果为3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值