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次方。

发布了52 篇原创文章 · 获赞 21 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览