HOWTO · Python

Python 中的二进制数表示

本教程演示如何使用内置函数对二进制数求和,以及如何将按位运算符应用于二进制数以操作数据

Binary 数字只包含两个值,0 和 1。从这两个值中,我们可以创建世界上存在的任何值的组合。

要处理二进制数字,我们可以使用简单的方法和 Python 内置函数库。朴素的方法从二进制数的最后一位数字开始,并遵循结转方法到数字的其他数字,而 Python 内置函数用于将二进制数字转换为十进制数,然后执行所需的操作行动。

Python 按位运算符可帮助你以最有效的方式处理二进制数。这些二进制数的作用与十进制数相同,与十进制数的唯一区别是数据表示形式。因此,在本文中,我们将看到如何在 Python 中操作按位运算符。

Python 中两个二进制数字的总和

此方法将首先将两个 binary 数字初始化为 value1value2。此外,通过使用内置的 Python 函数,我们将计算二进制数的总和。

示例代码:

# python 3.x
value1 = "0b100"
value2 = "0b110"

sumOfBinaryNumber = bin(int(value1, 2) + int(value2, 2))

print(sumOfBinaryNumber[2:])

输出:

1010

Python 中的按位表示

在这种技术中,我们将首先将两个二进制数初始化为 value1value2。此外,通过使用按位操作,我们将根据要求操作这些数字。在下面的代码中,~用于非运算,^用于异或运算,|用于逻辑或运算,而 & 用于逻辑与运算。

示例代码:

# python 3.x
value1 = int("1101", 2)
value2 = int("00100110", 2)
print("value1 & value2 =", bin(value1 & value2))
print("value1 |  value2 =", bin(value1 | value2))
print("value1 ^ value2 =", bin(value1 ^ value2))
print("~value1 ^ value2 =", bin(~value1 ^ value2))
print("~value1 =", bin(~value1))
print("~value2 =", bin(~value2))

输出:

a & b = 0b100
a |  b = 0b101111
a ^ b = 0b101011
~a ^ b = -0b101100
~a = -0b1110
~b = -0b100111