与运算、或运算以及异或运算

回顾了一下& | ^ 三个运算 做个笔记记录一下

1.与运算(&)

计算规则:两个计算的二进制数 相同位为1结果为1否则为0

1 & 1 = 1;
1 & 0 = 0;
0 & 1 = 0;
0 & 0 = 0;

例如:

1 & 2
换成二进制
0000 0001 & 0000 0010
结果为
0000 0000

2 & 3
0000 0010 & 0000 0011 = 0000 0010

通过这个特性 我们通常可以用来清零 想给哪一位清零就把哪一位置为0 若不想清零这一位 这一位为1即可

0010 1100 & 0000 0000 = 0000 0000

0010 1100 & 0010 0000 = 0010 0000

从上面的第二个例子可以看出 我们还可以用这个特性 用于取出某一位 上面我们取出来的数字就是32了

2.或运算(|)

计算规则:相同位置的两个二进制数 有1结果就是1 否则为0

0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;

0010 1011 | 0101 0100 = 0111 1111

或运算的这个特性 我们经常可以用来给给定位置置为1 比如我要给最后一位和倒数第三位置为1

0000 | 0101 = 0101

3.异或运算(^)

计算规则:相同为0 相异为1

0 ^ 0 = 0;
0 ^ 1 = 1;
1 ^ 0 = 1;
1 ^ 1 = 0;

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值