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

关于python 左移运算符

关于python 左移运算符

蝴蝶刀刀 2019-08-03 03:03:57
关于python 左移运算符
查看完整描述

4 回答

?
慕的地6264312

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

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

查看完整回答
反对 回复 2019-08-05
?
烙印99

TA贡献1829条经验 获得超13个赞

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-08-05
?
浮云间

TA贡献1829条经验 获得超4个赞

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

左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补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-08-05
  • 4 回答
  • 0 关注
  • 389 浏览
慕课专栏
更多

添加回答

举报

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