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

更新时间: 2019 年 11 月 29 日

287 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告