python异或^ 移位>>运算符

python中 ^ 运算符:

^运算符为异或运算,例如:

a = 10
b = 100
a = a^b # a = 110
b = b^a # b = 10
a = a^b # a = 100

以上可以实现a,b值不通过中间变量互换,运算过程为:

a的二进制  1010   b的二进制  1100100

a    : 0 0 0 1 0 1 0

b    : 1 1 0 0 1 0 0

a^b: 1 1 0 1 1 1 0  ----> 110  (异或:相等为0,不等为1)

b    : 1 1 0 0 1 0 0

b^a: 0 0 0 1 0 1 0  ---->10

a    :  1 1 0 1 1 1 0

a^b: 1 1 0 0 1 0 0  ---->100

位运算符>>和<<

位运算符是对二进制数进行移位运算,>>右移,

例:

a = 10
a >> 1 # a = 5

原理:a的二进制: 1010   向右移一位-> 0101  转为十进制:5

左移 <<

例:

10 << 1 # 20

原理:直接在末尾补0   1010 左移一位 10100  结果 20

注:有一种简单的计算方式,

对于右移运算,结果为 num// 2**count,即当前数值除以2的n次方取整。

对于右移运算,结果为 num *  2**count,即当前数值乘以2的n次方。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值