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
二进制AND运算符将两个结果都复制到结果中(如果两个操作数中都存在)。
示例-($a&$b)将给出12,即00001100
如果任一操作数中存在二进制或运算符,则会对其进行复制。
示例-($a|$b)将给出61,即00111101
如果在一个操作数中设置了该位,但不是在两个操作数中都设置了位,则二进制XOR运算符将复制该位。
示例-($a^$b)将给出49,即00110001
补码运算符是一元的,并且具有“翻转”位的作用。
示例-(〜$a)将给出-61,这是2的补码形式的11000011,这是由于带符号的二进制数。
二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
示例-$a<<2将给出240,即11110000
二进制右移运算符。左操作数的值向右移动右操作数指定的位数。
示例-$a>>2将给出15,即00001111