位运算中的逻辑运算符(与: & , 或: | , 异或: ^ , 取反:~)

逻辑与运算:&

参加运算的两个值转换成二进制然后按位进行与运算
运算规则:0&0=0,0&1=0,1&0=0,1&1=1
实例: int a = 3; int b = 4; Console.WriteLine(a & b);
计算方式:
0011 & 0100=0000=0
可以解决的问题
例如:斗地主中的花色和牌的大小,使用两个16进制数表示一张牌:001(红桃a),011(黑桃a),如果想要获得点数只需要牌与上一个0*0f,就可以了.

逻辑或运算:|

参加运算的两个值转换成二进制然后按位进行或运算
运算规则: 0|0=0 , 0|1=1 , 1|0=1 , 1|1=1
实例:int a = 3; int b = 4; Console.WriteLine(a | b);
计算方式:
0011 | 0100=0111=7
可以解决的实际问题
暂时想不到具体的实例

逻辑异或运算:^

参加运算的两个值转换成二进制之后进行异或运算
**运算规则: 0^0=0, 0 ^ 1=1,1 ^0=1, 1 ^ 1=0
实例:int a = 3; int b = 4; Console.WriteLine(a ^ b);
计算方式:
0011 ^ 0100=0111=7
可以实际结局的问题
不使用第三个变量的情况下互换两个值
int a = 3; int b = 4; a = a ^ b; b = a ^ b; a = a ^ b;
运算方式:
a= 0011;
b=0100;
a=a^b=0011 ^ 0100=0111;
b=a^b= 0111 ^ 0100=0011
a=a^b=0111 ^ 0011=0100

逻辑取反运算:~或者not

参加运算的两个值转换成二进制之后按位取反
运算规则:0取反=1,1取反=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值