Python3 位运算

位运算是计算机中一种常见的运算方式,它对数据的每个比特进行操作。Python3 提供了多种位运算操作符,包括与(&)、或(|)、非(~)、异或(^)、左移(<<)和右移(>>)。本文将介绍这些位运算操作符的用法,并给出代码示例。

与运算(&)

与运算符将两个操作数的对应比特进行与运算,结果为 1 的位置上的比特表示两个操作数对应位置上的比特都为 1,否则为 0。

以下是与运算的代码示例:

a = 5  # 二进制为 101
b = 3  # 二进制为 011

result = a & b  # 二进制为 001
print(result)  # 输出 1

或运算(|)

或运算符将两个操作数的对应比特进行或运算,结果为 1 的位置上的比特表示两个操作数对应位置上的比特至少有一个为 1。

以下是或运算的代码示例:

a = 5  # 二进制为 101
b = 3  # 二进制为 011

result = a | b  # 二进制为 111
print(result)  # 输出 7

非运算(~)

非运算符对操作数进行按位取反运算,结果为 1 的位置上的比特表示原操作数对应位置上的比特为 0,结果为 0 的位置上的比特表示原操作数对应位置上的比特为 1。

以下是非运算的代码示例:

a = 5  # 二进制为 101

result = ~a  # 二进制为 11111111111111111111111111111010
print(result)  # 输出 -6

异或运算(^)

异或运算符将两个操作数的对应比特进行异或运算,结果为 1 的位置上的比特表示两个操作数对应位置上的比特不相同,否则为 0。

以下是异或运算的代码示例:

a = 5  # 二进制为 101
b = 3  # 二进制为 011

result = a ^ b  # 二进制为 110
print(result)  # 输出 6

左移运算(<<)

左移运算符将操作数的各个比特向左移动指定的位数,移动后,低位补零。

以下是左移运算的代码示例:

a = 5  # 二进制为 101

result = a << 2  # 二进制为 10100
print(result)  # 输出 20

右移运算(>>)

右移运算符将操作数的各个比特向右移动指定的位数,移动后,高位补零。

以下是右移运算的代码示例:

a = 5  # 二进制为 101

result = a >> 2  # 二进制为 1
print(result)  # 输出 1

以上是 Python3 中常用的位运算操作符的介绍和代码示例。通过对比特进行操作,我们可以实现一些特定的功能,例如掩码、标志位等。掌握位运算操作符的用法可以帮助我们更好地理解计算机中的数据处理方式。

饼状图

下面是一个使用 mermaid 语法绘制的饼状图示例:

pie
    title Programming Languages
    "Python" : 40
    "Java" : 30
    "C++" : 20
    "Others" : 10

以上代码将生成一个饼状图,展示不同编程语言的占比情况。

甘特图

下面是一个使用 mermaid 语法绘制的甘特图示例:

gantt
    title Project Timeline
    dateFormat  YYYY-MM-DD
    section Phase 1
    Task 1      :a1, 2022-01-01, 30d
    Task 2      :after a1  , 20d