Python3中的位运算符

1. 位运算符概述

位运算符是对二进制数进行操作的运算符,位运算符通常用于底层数据处理和优化,比如计算机网络、加密算法、嵌入式系统等。

在Python中,有六种位运算符:

    按位与(&)

    按位或(|)

    按位异或(^)

    按位取反(~)

    左移(<<)

    右移(>>)

2. 按位与(&)

2.1 定义

按位与是指对两个二进制数的每一位进行操作,如果两个二进制数的同一位都为1,则输出1,否则输出0。

2.2 代码示例

以下代码将输出2,因为二进制数 110 是 6,二进制数 101 是 5,按位与得到的二进制数 100 是 4。

a = 6

b = 5

c = a & b

print(c)

3. 按位或(|)

3.1 定义

按位或是指对两个二进制数的每一位进行操作,如果两个二进制数的同一位中有一个为1,则输出1,否则输出0。

3.2 代码示例

以下代码将输出7,因为二进制数 110 是 6,二进制数 101 是 5,按位或得到的二进制数 111 是 7。

a = 6

b = 5

c = a | b

print(c)

4. 按位异或(^)

4.1 定义

按位异或是指对两个二进制数的每一位进行操作,如果两个二进制数的同一位不同,则输出1,否则输出0。

4.2 代码示例

以下代码将输出3,因为二进制数 110 是 6,二进制数 101 是 5,按位异或得到的二进制数 011 是 3。

a = 6

b = 5

c = a ^ b

print(c)

5. 按位取反(~)

5.1 定义

按位取反是指将一个二进制数的每一位进行操作,将0变为1,将1变为0。

5.2 代码示例

以下代码将输出-7,因为它将二进制数 110 取反后得到的二进制数 001,再将其转换为十进制数 -7。

a = 6

c = ~a

print(c)

6. 左移(<<)

6.1 定义

左移是指将一个二进制数向左移动指定的位数,新的二进制数右侧用0填充。

6.2 代码示例

以下代码将输出24,因为二进制数 110 向左移动两位后得到的二进制数 11000 是 24。

a = 6

c = a << 2

print(c)

7. 右移(>>)

7.1 定义

右移是指将一个二进制数向右移动指定的位数,新的二进制数左侧用0或1填充(取决于原来的数的符号位,符号位为0时左侧用0填充,符号位为1时左侧用1填充)。

7.2 代码示例

以下代码将输出1,因为二进制数 110 向右移动两位后得到的二进制数 1 是 1。

a = 6

c = a >> 2

print(c)

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签