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 语言支持以下位运算符,假设,若 $a = 60;且 $b = 13
序号。 | 运算符 & 描述 |
---|---|
1 | & 二进制 AND 运算符在两个操作数中同时存在某位时,将该位复制到结果中。 示例− ($a & $b) 会得 12,即 0000 1100 |
2 | | 二进制 OR 运算符在两个操作数中任一操作数中存在某位时,将该位复制到结果中。 示例− ($a | $b) 会得 61,即 0011 1101 |
3 | ^ 二进制 XOR 运算符当某位仅在一个操作数中存在时,将该位复制到结果中(不能在两个操作数中同时存在)。 示例− ($a ^ $b) 会得 49,即 0011 0001 |
4 | ~ 二进制一元补码运算符是一个一元运算符,它会“翻转”位。 示例− (~$a ) 会得 -61,即 1100 0011,这是 2 的补码形式,因为它是一个带符号的二进制数。 |
5 | << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 示例− $a << 2 会得 240,即 1111 0000 |
6 | >> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 示例− $a >> 2 会得 15,即 0000 1111 |
广告