Python语言中的按位运算

https://blog.csdn.net/xtj332/article/details/6639009

https://docs.python.org/zh-cn/3/library/stdtypes.html

整数类型的按位运算
按位运算只对整数有意义。 计算按位运算的结果,就相当于使用无穷多个二进制符号位对二的补码执行操作。

二进制按位运算的优先级全都低于数字运算,但又高于比较运算;一元运算 ~ 具有与其他一元算术运算 (+ and -) 相同的优先级。

此表格是以优先级升序排序的按位运算列表:

运算

结果

注释

x | y

x 和 y 按位 或

(4)

x ^ y

x 和 y 按位 异或

(4)

x & y

x 和 y 按位 与

(4)

x << n

x 左移 n 位

(1)(2)

x >> n

x 右移 n 位

(1)(3)

~x

x 逐位取反

注释:

负的移位数是非法的,会导致引发 ValueError。

左移 n 位等价于不带溢出检测地乘以 pow(2, n)。

右移 n 位等价于不带溢出检测地除以 pow(2, n)。

使用带有至少一个额外符号扩展位的有限个二进制补码表示(有效位宽度为 1 + max(x.bit_length(), y.bit_length()) 或以上)执行这些计算就足以获得相当于有无数个符号位时的同样结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值