小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-04-29 / 17 阅读
1
0

Python 位运算符

Python中的位运算符用于对整数进行二进制位的操作。这些运算符直接作用于数字的二进制表示,而不是十进制或其他进制表示。Python支持的位运算符包括:

  1. &(按位与):对两个数的每个位执行逻辑AND操作。只有两个位都是1时,结果位才是1。
    a = 0b110  # 二进制表示为 110
    b = 0b101  # 二进制表示为 101
    c = a & b  # 结果为 0b100,即十进制的 4
    
  2. |(按位或):对两个数的每个位执行逻辑OR操作。只要有一个位是1,结果位就是1。
    a = 0b110  # 二进制表示为 110
    b = 0b101  # 二进制表示为 101
    c = a | b  # 结果为 0b111,即十进制的 7
    
  3. ^(按位异或):对两个数的每个位执行逻辑XOR操作。只有两个位不同,结果位才是1。
    a = 0b110  # 二进制表示为 110
    b = 0b101  # 二进制表示为 101
    c = a ^ b  # 结果为 0b011,即十进制的 3
    
  4. ~(按位取反):对一个数的每个位执行逻辑NOT操作。这个运算符是单目运算符,它会翻转每个位。
    a = 0b110  # 二进制表示为 110
    c = ~a     # 结果为 0b001,即十进制的 -4(在大多数系统中,整数是补码表示)
    
  5. <<(左移):将一个数的所有位向左移动指定的位数。左边的位被丢弃,右边补0。
    a = 0b110  # 二进制表示为 110
    c = a << 1 # 结果为 0b1000,即十进制的 8
    
  6. >>(右移):将一个数的所有位向右移动指定的位数。右边的位被丢弃,对于无符号数,左边补0;对于有符号数,左边通常是复制最高位(即符号位),这称为算术右移。
    a = 0b110  # 二进制表示为 110
    c = a >> 1 # 结果为 0b011,即十进制的 3
    

位运算符在处理低级操作,如硬件编程、加密算法、网络协议等时非常有用。在Python中,它们通常用于优化性能或者实现特定的算法。


评论