按位运算符对位进行运算并执行逐位运算。假设$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 |