Python中提供了一系列便利的基础运算符,可用于数据分析研究。除了基本的算术、比较、赋值运算符外,还有按位运算符、逻辑运算符、成员运算符和身份运算符。
按位运算通常涉及底层的二进制表示,因此在一般应用程序开发中使用较少。在高级编程中,按位运算符更多地用于特定领域的优化和处理,如掩码操作、性能优化和加密算法等。
常用按位运算符如下表所示。在示例中,a为60,b为13,对应的二进制值如下。
a = 0011 1100
b = 0000 1101
运??算??符 | 描????述 | 示 ???例 |
& | 按位与运算符:参与运算的两个值如果相应位都为1,那么该位的结果为1,否则为0 | a & b输出结果12, 二进制值:0000 1100 |
| | 按位或运算符:只要对应的两个二进位有一个为1,结果位就为1 | a | b输出结果61, 二进制值:0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | a ^ b输出结果49, 二进制值:0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | ~a输出结果-61, 二进制值:1100 0011 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0 | a << 2输出结果240, 二进制值:1111 0000 |
>> | 右移动运算符:把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数 | a >> 2输出结果15, 二进制值:0000 1111 |
按位运算符是对二进制数的运算,通常的数字都是使用十进制的,按位运算符会自动将输入的十进制数转为二进制数,再进行相应的运算。
#?按位运算 a = 60; b = 13 ?# 初始赋值 # 与运算 print(a & b) ?# 结果为12 #?或运算 print(a | b) ?# 结果为61 #?异或运算 print(a ^ b) ?#结果为49 # 取反运算 print(~a)??# 结果为-61 # 位移运算 print(a << 2) ?# 结果为240 print(a >> 2) ?# 结果为15 |
更多内容分享,可持续关注~?