Python与人工智能——20、基础运算——运算符——位运算符——异或位运算值交换

2024-09-23 08:36:30 浏览数 (3)

前言

Python作为当前最为流行的一种语言与身份程序员的大家们几乎是时时刻刻分不开的,无论是做任何方面的工作基本上不会缺少Python的出现,就好似现阶段各平台的低代码Agent开发都支持的是Python语言,对其它的语言友好度都不是很高,那么,我们就非常的有必要将Python深入的了解一下,本系列文章的目的就是为了让大家对于Python有个更加直观的了解,并且要使用Python做很多的小应用,只有真正的实操了才能更好的掌握它。

正文

开发工具:Pythony与人工智能——3、Python开发IDE工具VSCode-CSDN博客

位运算符

这个稍微难度大一些,基础的有【&与、|或、^异或、<<左位移、>>右位移】。

我们之前搞值交换直接使用第三方变量,现在我们可以使用位运算符来搞一下。我们先看看位运算符是怎么运作的。

代码语言:javascript复制
x = 5  # 二进制:101
y = 7  # 二进制:111
print(x & y)  # 101 & 111 = 101 = 5(十进制)
print(x | y)  # 101 | 111 = 111 = 7(十进制)
print(x ^ y)  # 101 ^ 111 = 010 = 2(十进制)
print(x << 1)  # 101 << 1 = 1010 = 10(十进制)
print(x >> 1)  # 101 >> 1 = 010 = 2(十进制)

位运算值交换

实现使用^异或符号来完成值交换的操作:

代码语言:javascript复制
# 定义变量 x 和 y
x = 5  # 二进制表示为 101
y = 7  # 二进制表示为 111

# 使用异或操作交换 x 和 y 的值
# 第一步:x = x ^ y
x = x ^ y  # x 现在变成了 5 ^ 7,即 101 ^ 111 = 010 (二进制表示为 2)

# 第二步:y = x ^ y
y = x ^ y  # y 现在变成了 2 ^ 7,即 010 ^ 111 = 101 (二进制表示为 5)

# 第三步:x = x ^ y
x = x ^ y  # x 现在变成了 2 ^ 5,即 010 ^ 101 = 111 (二进制表示为 7)

# 输出交换后的结果
print("x =", x)  # 输出 x 的新值
print("y =", y)  # 输出 y 的新值

我给了完整的注释内容,大家可以使用纸币来计算一下,我相信大家一定计算的很清楚哦。

总结

在实际工作中,Python 位运算有以下应用:

一、权限管理:可以用不同的位表示不同的权限,通过位运算进行权限的设置和检查。例如用 1、2、4 分别表示读取、写入、执行权限,通过按位或设置权限,按位与检查权限。

二、优化计算:在某些特定场景下,位运算比常规算术运算更快。比如判断一个数是否为偶数,可以用与运算(如果一个数与 1 进行按位与结果为 0,则是偶数)。

三、标志处理:可以用位标志来表示多种状态的组合。通过位运算设置、清除或检查特定的标志位。

四、数据压缩:在处理大量数据时,可以利用位运算进行数据压缩存储,节省存储空间。

0 人点赞