位置:首页 » Python3入门教程 » Python3 二进制数和逻辑运算符

Python3 二进制数和逻辑运算符 [编辑]

在之前我们已经看过了简单的数字和操作。在本文中,将学习数字在计算机内部是如何工作的。

更详细:虽然这不是在 web 应用程序或大多数桌面应用程序直接有用的,但是知道这些是非常有用的。如果你不只关心这一点,可以跳到下一个教程学习。在本文中,将学习在 Python 中如何使用二进制数,如何将它们转换为小数,怎么做位操作运算等。

二进制数字

在最低水平,计算机对任何数字无概念,除了'有一个信号“或”这些不是一个信号“。也可以认为这是一个电灯开关:要么在开关打开,要么关闭。

这个微小的信息,一台电脑存储的最小量,被称为一个比特。表示一个比特位或低(0)或高(1)。

为了表示大于 1 的更高数字,这个想法诞生了使用比特序列。八位的序列可以存储更大的数字,这被称为一个字节。序列由1和0组成被称为:二进制。传统计数系统十位数字被称为十进制。

binary

二进制数和十进制表示。

让我们来看看,在实践的例子中:

第二个参数2,告诉Python中我们有一批基于2个元素(1和0)。要转换一个字节(8位)为十进制,简单的写了八位在第一个参数的组合。

计算机如何做到这一点?每隔数位(从右到左)乘以2的幂。

数字 ‘00010001‘  就是  (1 x 2^0) + (0 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (0 x 2^5) +  (0 x 2^6) + (0 x 2^7) = 16 + 1 = 17. 请记住,由右至左读。

数字 ‘00110010’ 也就是 (0 x 2^0) + (1 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (1 x 2^5) +  (0 x 2^6) + (0 x 2^7) = 32+16+2 = 50.

自己尝试序列'00101010',看看你是否了解和在Python程序中验证。

使用二进制数的逻辑运算

二进制左移和二进制右移
乘法由两个因素的因子2和除法在二进制中很容易。我们只是转移向左或向右位。我们左移如下:

Bit 4 Bit 3 Bit2 Bit 1
0 1 0 1
1 0 1 0

在移(0,1,0,1)之前,数字为:5。移动(1,0,1,0)之后,数字为:10。在 Python 中,可以使用按位向左符(<<)转向左,右位运算符(>>)右移。

结果输出:

AND运算符

鉴于两个输入,电脑就可以做一些逻辑与位运算。让我们使用 AND运营符。如果输入A和B是正的,输出将是正的。我们将展示AND运算以图形方式,两个左边作为输入A和B,正确的圆是输出:
Bitwise AND

位 AND

在这个代码很简单,只要使用&符号,它代表了逻辑与运营符。

通过改变输入后有相同的结果,使用上面的图像。我们可以与操作符在序列上:

结果如下:

这是有道理的,因为如果做了以上运算:

OR 运算符

现在,我们已经学会了AND运算符,让我们一起来看看 OR运算符。给定两个输入,输出将为零只有当A和B均为0。
binary bitwise OR

要执行它,我们使用|运算。位序列可以简单地这样执行:

结果如下:

 XOR 运算符

这是一个有趣的运算符:异或或短XOR。
bitwise XOR

为了执行它,我们使用^运算。位序列可以简单地这样执行:

结果如下: