Perl 教程 之 Perl 运算符 5

简介: 位运算

Perl 教程 之 Perl 运算符 5

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 支持的位运算符如下表所示:

运算符 描述 实例
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 ($a & $b) 将得到 12,二进制为 0000 1100
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 ($a | $b) 将得到 61 ,二进制为 0011 1101
^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 ($a ^ $b) 将得到 49,二进制为 0011 0001
~ 二进制反码运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0。 (~$a ) 将得到 -61 ,二进制为 1100 0011 ,一个有符号二进制数的反码形式。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 $a << 2 将得到 240 ,二进制为 1111 0000

二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 $a >> 2 将得到 15 ,二进制为 0000 1111
实例

!/usr/bin/perl

use integer;

$a = 60;
$b = 13;

print "\$a = $a , \$b = $b\n";

$c = $a & $b;
print "\$a & \$b = $c\n";

$c = $a | $b;
print "\$a | \$b = $c\n";

$c = $a ^ $b;
print "\$a ^ \$b = $c\n";

$c = ~$a;
print "~\$a = $c\n";

$c = $a << 2;
print "\$a << 2 = $c\n";

$c = $a >> 2;
print "\$a >> 2 = $c\n";

以上程序执行输出结果为:

$a = 60 , $b = 13
$a & $b = 12
$a | $b = 61
$a ^ $b = 49
~$a = -61
$a << 2 = 240
$a >> 2 = 15

目录
相关文章
|
8月前
|
人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)
|
编解码 运维 监控
Logstash基础入门
Logstash基础入门
140 1
|
Ubuntu 应用服务中间件 nginx
docker--导出镜像 save/export、导入镜像 load/import
docker--导出镜像 save/export、导入镜像 load/import
12225 1
|
异构计算 openCL 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比:
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
11月4日 “光纤之父”高锟诞辰88周年,致敬科学伟人!
当今世界以数字化、网络化、智能化为特征的信息化浪潮蓬勃兴起,元宇宙、云基础设施、5G等热点前沿方向成为信息技术发展的风口。作为信息传导的主要载体,光纤可谓是社会信息化的“神经”,是人类迈向信息化时代的重要基石。
|
8月前
|
Python
用Python实现QQ/微信消息轰炸
用Python实现QQ/微信消息轰炸
|
9月前
|
算法 Python
利用贝叶斯算法对简单应用实现预测分类
利用贝叶斯算法对简单应用实现预测分类
90 0
|
存储 监控 网络协议
iOS 友盟崩溃日志分析——Thread state
iOS 友盟崩溃日志分析——Thread state
631 0

热门文章

最新文章