Python 整数类型的二进制按位运算


Python 按位运算仅对整数有意义。

二进制按位运算的优先级全都低于数值运算,但高于比较运算。

一元运算 ~ 具有如其它一元数值运算 (+ 和 -) 的相同优先级。

加密解密


使用 ^ 按位异或对整数进行简单加密,然后解密:

>>> key = 3
>>> 5 ^ key
6
>>> 6 ^ key
5
>>>
					

整数类型的二进制按位运算

运算 公式 二进制规则 整数范例 结果 Binary 结果
按位或 x | y 一个 1 就为 1,否则 0 1 | 0 1 0b01 | 0b00 0b01
2 | 3 3 0b10 | 0b11 0b11
按位异或 x ^ y 相同为 0,不同为 1 1 ^ 0 1 0b01 ^ 0b00 0b01
2 ^ 3 1 0b10 ^ 0b11 0b01
按位与 x & y 同为 1,才是 1 1 & 0 0 0b01 & 0b00 0b00
2 & 3 2 0b10 & 0b11 0b10
按位左移 x << n 向左移动 n 位后,空位补 0 5 << 2 20 0b101 0b10100
按位左移 x >> n 向右移动 n 位后,空位补 0 20 >> 2 5 0b10100 0b101
按位反转 ~x 将二进制数 +1 之后乘以 -1 ~5 -6 0b101 -0b110

See also:

整数类型的按位运算

Copyright Notice: This article is exclusive original manuscripts, copyrighted by Happy Digits Software , shall not be reproduced without permission.

Previous topic

Python 对象原位赋值

Next topic

什么是 Bugs 漏洞

Quick search