为了账号安全,请及时绑定邮箱和手机立即绑定

关于python 左移运算符

关于python 左移运算符

翻过高山走不出你 2019-07-11 15:06:13
关于python 左移运算符
查看完整描述

4 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

自定义类在+右边的时候,需要定义 __radd__(self, other) 方法。如果左侧的obj没有定义__add__,那么python会自动调用右侧obj的__radd__。
其它运算符也是这样的。都是前面加个r表示右侧,例如__rmul__

查看完整回答
反对 回复 2019-07-12
?
互换的青春

TA贡献1797条经验 获得超6个赞

Python位操作运算符【左移右移】

1

2

num1 << num2        #num1左移num2位       

num1 >> num2        #num1右移num2位

例:

45左移1位:

1

2

45 << 1

90

45的二进制为:101101

那么左移一位:1011010

1011010的十进制为90

60右移2位:

1

2

60 >> 2

15

60的二进制为:111100

那么右移两位:001111

001111的十进制为15



查看完整回答
反对 回复 2019-07-12
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

移位运算符,<<是左移位,>>是右移位。

左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。

右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。

用起来是这样的

1

2

3

4

5

6

7

8

9

10

11

12

>>> 3<<1

6

>>> 1<<1

2

>>> 2<<1

4

>>> 2<<1

4

>>> 4<<1

8

>>> 5<<1

10


 


查看完整回答
反对 回复 2019-07-12
  • 4 回答
  • 0 关注
  • 1932 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信