Perl按位运算符

按位运算符对位进行运算并执行逐位运算。假设$a = 60; 和$b = 13; 现在以二进制格式,它们将如下所示-

$a = 0011 1100
$b = 0000 1101
-----------------
$a&$b = 0000 1100
$a|$b = 0011 1101
$a^$b = 0011 0001
~$a = 1100 0011

Perl语言支持以下Bitwise运算符,假设$a = 60; 和$b = 13

序号运算符和说明
1
二进制AND运算符将两个结果都复制到结果中(如果两个操作数中都存在)。
示例-($a&$b)将给出12,即0000 1100
2|
如果任一操作数中存在二进制或运算符,则会对其进行复制。
示例-($a | $b)将给出61,即0011 1101
3^
如果在一个操作数中设置了该位,但不是在两个操作数中都设置了位,则二进制XOR运算符将复制该位。
示例-($a ^ $b)将给出49,即0011 0001
4〜二进位
补码运算符是一元的,并且具有“翻转”位的作用。
示例-(〜$a)将给出-61,这是2的补码形式的1100 0011,这是由于带符号的二进制数。
5<<
二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
示例-$a << 2将给出240,即1111 0000
6>>
二进制右移运算符。左操作数的值向右移动右操作数指定的位数。
示例-$a >> 2将给出15,即0000 1111