广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Python技术 > 正文

Python位运算符的用法_惠州Python培训

作者:黄君发布时间:2020-12-21分类:Python技术浏览:1062


导读:位运算是对数据的二进制位进行操作,这是一种非常底层的操作,但是它的效率很高。

位运算是对数据的二进制位进行操作,这是一种非常底层的操作,但是它的效率很高。

1. 按位与(&)

按位依次进行与操作。该操作需要两个操作数,返回值的每一位的值是两个操作数的对应位进行与操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值不会发生改变。

与操作真值表如表1所示。

表1:与操作真值表
ABA&B
111
100
010
000


下面演示了与操作的情况:

>>> 1 & 2    # 两个操作数分别是1和2
0            # 高位分别是0和1,所以高位结果为0
             # 低位分别是1和0,所以低位结果也为0
             # 最后总的结果为0
>>> 6 & 12   # 6=0110B,12=1100B
4            # 从高到低,结果依次为0100B = 4

2. 按位或(|)

按位依次进行或操作。该操作需要两个操作数,返回值的每一位的值是两个操作数的对应位进行或操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值不会发生改变。

或操作真值表如表2所示。

表2:或操作真值表
ABA|B
111
101
011
000


下面演示了或操作的情况:

>>> 1 | 2    # 两个操作数分别是1和2    
3            # 高位分别是0和1,所以高位结果为1
             # 低位分别是1和0,所以低位结果也为1
             # 最后总的结果为11B=3
>>> 6 | 12   # 6=0110B,12=1100B
14           # 从高到低,结果依次为1110B = 14

3. 按位异或(^)

按位依次进行异或操作。该操作也需要两个操作数,返回值的每一位的值是两个操作数的对应位进行异或操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值并不会发生改变。

异或操作真值表如表3所示。

表3:异或操作真值表
ABA^B
110
101
011
000


下面演示了异或操作的情况:

>>> 1 ^ 2    # 两个操作数分别是1和2    
3            # 高位分别是0和1,所以高位结果为1
             # 低位分别是1和0,所以低位结果也为1
             # 最后总的结果为11B=3
>>> 6 ^ 12   # 6=0110B,12=1100B
10           # 从高到低,结果依次为1010B = 10

4. 按位取反(~)

按位依次进行取反操作。该操作只需要一个操作数,返回值的每一位的值是操作数的对应位进行取反操作的结果。该操作并不改变操作数自身,即进行该操作后,原操作数的值并不会发生改变。

取反操作真值表如表4所示。

表4:取反操作真值表
A~A
10
01


下面演示了取反操作的情况:

>>> ~100 + 1        # 我们知道一个数的相反数用补码表示的方法是
-100                # 按位取反然后+1
                    # 所以结果就是100的相反数为-100
>>> ~(-100) + 1     # 和上面的一样,就是求-100的相反数
100                 # 所以结果为100


标签:惠州北大青鸟惠州JAVA培训惠州IT培训惠州软件培训惠州软件开发惠州Python培训


Python技术排行
标签列表
网站分类
文章归档
最近发表