Python 位运算符 [附示例]

已发表: 2022-09-11

Python 编程语言提供了按位运算符,允许程序员在最基本的层面上操作数据——让他们对所有变量有更多的控制权。

Python 是当今世界上最流行的编程语言之一。 Python 的多功能性和它提供的众多功能是其越来越受欢迎的几个原因。 本文将探讨 Python 中的位运算符、不同类型的位运算符、它们的用途等等。

目录

Python的位运算符概述

位运算符在不同的编程语言中看起来是一样的。 Python 带有各种类型的运算符,例如算术运算符、逻辑运算符和比较运算符。

操作员例子意义
& a&b 按位与
| 一个 | b 按位或
^ 一个^ b 按位异或(异或)
~ 〜一个按位非
<< 一个 << n 按位左移
>> 一 >> n 按位右移

大多数位运算符都是二进制的,这意味着它们需要两个操作数才能使用,通常称为左操作数和右操作数。 位非 (~) 是唯一的一元位运算符,因为它只需要一个操作数。

探索我们的热门数据科学课程

IIITB 数据科学高级管理研究生课程 商业决策数据科学专业证书课程 亚利桑那大学数据科学理学硕士
IIITB 数据科学高级证书课程 马里兰大学数据科学和商业分析专业证书课程 数据科学课程

什么是位运算符?

位运算符是用于对整数执行按位计算的运算符类型之一。 首先将整数转换为二进制,然后逐位执行操作,因此称为按位运算符。 然后将结果转换为十进制格式。 这些运算符只能对整数执行计算。

查看我们的数据科学认证以提升自己的技能。

位运算符的重要性

您可能已经了解什么是位运算符,现在让我们关注位运算符的重要性。 它们比算术运算符更好,这就是您需要使用它们的原因:

  • 执行速度

按位运算符比执行乘法或除法更快。 如果您需要将变量 x 乘以 9,您可以执行 (x<<3 + x),这将比 (x*9) 快几个周期。

  • 错误检查

位运算符广泛用于检查错误。 如果您将一些位发送到另一台服务器上的另一台计算机,那么肯定会出现一些错误。 您可以使用按位运算符识别这些错误。

您可能了解按位运算符的用途和重要性,那么,让我们继续了解不同类型的按位运算符。

不同类型的位运算符

位逻辑运算符

按位运算符 and、or 和 xor 是具有左右操作数的二元运算符。 位运算符不是只有右操作数的一元操作数。 所有四个位运算符的结果类型都是整数。 位逻辑运算符在其之前的操作数中一次检查一位,并计算结果中的相应值。

按位与

AND (&) 运算符用于在两位之间执行 AND。 在这种情况下,两个位都需要为真才能使输出为真。 如果任一位为假,则输出为假。 换句话说,如果两个位都是 1,则返回 1,否则返回 0。

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

例子:

a = 10 = 1010(二进制)

b = 4 = 0100(二进制)

a & b = 1010

&

0100

= 0000

= 0(十进制)

按位或

OR (|) 运算符用于执行两个位之间的 OR 运算。 为了使输出为真,其中一位需要为真。 与 (&) 运算符不同,两个位都不必为真,结果也为真。 换句话说,当且仅当考虑的两个位都为 0 时,结果位为 0,否则结果为 1。

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

例子:

a = 10 = 1010(二进制)

b = 4 = 0100(二进制)

一个 | b = 1010

|

0100

= 1110

= 14(十进制)

按位非

按位非 (~) 运算符用于返回 Python 中数字的补码。 但是,not 运算符是一个非常简单的运算符,用于将位从 0 翻转到 1 和从 1 翻转到 0。

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

例子:

a = 10 = 1010(二进制)

~a = ~1010

= -(1010 + 1)

= - (1011)

= -11(十进制)按位异或运算符

XOR (^) 运算符用于在正在操作的两个位之间进行 XOR。 XOR 操作非常简单。 如果两个位相同,则结果位为 0,否则为 1。它广泛用于逻辑计算以加快处理速度。

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

例子:

a = 10 = 1010(二进制)

b = 4 = 0100(二进制)

a & b = 1010

^

0100

= 1110

= 14(十进制)

移位运算符

这些按位运算符用于通过将数字分别乘以或除以 2 来将数字的位从左向右移动。 当我们必须将数字除以或乘以 2 时,可以使用它们。

按位右移

顾名思义,右 (>>) 运算符将位向右移动到表示在运算符右侧的数字。

阅读我们热门的数据科学文章

数据科学职业道路:综合职业指南 数据科学职业发展:工作的未来就在这里 为什么数据科学很重要? 数据科学为企业带来价值的 8 种方式
数据科学对管理者的相关性 每个数据科学家都应该拥有的终极数据科学备忘单 成为数据科学家的 6 大理由
数据科学家生活中的一天:他们做什么? 神话破灭:数据科学不需要编码 商业智能与数据科学:有什么区别?

例如 – 10>>2 将 (1010) 向右移动 2。

示例 1:

a = 10 = 0000 1010(二进制)

a >> 1 = 0000 0101 = 5

示例 2:

a = -10 = 1111 0110(二进制)

a >> 1 = 1111 1011 = -5

按位左移

顾名思义,左 (<<) 运算符将位向左移动到运算符右侧表示的数字。

例如 – 1<< 2 会将 1 向左移动 2 个值。

示例 1:

a = 5 = 0000 0101(二进制)

一 << 1 = 0000 1010 = 10

一 << 2 = 0001 0100 = 20

示例 2:

b = -10 = 1111 0110(二进制)

b << 1 = 1110 1100 = -20

b << 2 = 1101 1000 = -40

阅读我们热门的数据科学文章

数据科学职业道路:综合职业指南 数据科学职业发展:工作的未来就在这里 为什么数据科学很重要? 数据科学为企业带来价值的 8 种方式
数据科学对管理者的相关性 每个数据科学家都应该拥有的终极数据科学备忘单 成为数据科学家的 6 大理由
数据科学家生活中的一天:他们做什么? 神话破灭:数据科学不需要编码 商业智能与数据科学:有什么区别?

结论

python 位运算符有很好的理解将帮助您在项目中操作二进制数据。 您现在了解了按位运算符及其语法和支持它们的数据类型的基础知识。 您还可以根据自己的需要自定义他们的行为。

如果您渴望学习和扩展有关 python 和按位运算符的知识,请查看 upGrad 和马里兰大学的数据科学和商业分析专业证书课程,该课程专为在职专业人士创建,提供 20 多个案例研究和作业添加到您的投资组合中,100 多个小时的现场会议,400 多个小时的学习与顶级公司的工作帮助。

位运算符在哪里使用?

位运算符可用于操作数字的各个位。 在 Python 中,按位运算符对整数执行按位计算。 首先,将整数转换为二进制,然后以小块执行操作——这就是按位运算符的名称。 Python 位运算符专门用于整数,以十进制格式返回结果。

什么是单操作数运算符?

算术运算符使用操作数执行数学运算,例如加法和减法。 一元和二元是数学运算符的两大类。 一元运算符使用单个操作数执行功能,例如:按位非 (~),而二元运算符使用两个操作数。

为什么我们需要按位运算符?

位运算符是表示数据时有效利用空间的好方法。 在对硬件提供的数据进行操作时,这些运算符是必需的,其中世界中的特定位是有意义的。 位运算符是节省内存所必需的。 将数据打包成位而不是单词可以节省内存,而且您通常可能拥有大量数据和有限的内存。