Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1572341
  • 博文数量: 289
  • 博客积分: 11086
  • 博客等级: 上将
  • 技术积分: 3291
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 17:06
个人简介

徐小玉的博客。

文章分类

全部博文(289)

文章存档

2023年(6)

2022年(1)

2021年(2)

2020年(9)

2019年(9)

2018年(6)

2017年(10)

2016年(10)

2014年(3)

2013年(4)

2011年(12)

2010年(16)

2009年(14)

2008年(119)

2007年(48)

2006年(20)

我的朋友

分类:

2007-06-15 11:22:15


在英语以及许多其它的语言中,需要区别单数和复数。作为一门由语言学家发明的语言,Perl 也是类似的。同一般情况一
样,Perl 也有数据类型—标量◆。标量是Perl 中最简单的数据类型。大多数的标量是数字(如255 或3.25e20)或者字符串
(如hello◆或者盖茨堡地址)。你也许把数字和字符串看作不同的事物,但Perl 几乎以相同的观点来看待它们。
◆这个概念和数学或者物理学中的标量(一个单独的是事物)没有多少关系;Perl 中也没有向量。
◆如果使用过别的编程语言,你可能把hello 看作5 个字符的组合,而不是一个单独的东西。但在Perl 中,一个字符串是一个标量数据。
当然,可以使用这个字符串内部的值,你将在后面章节中了解到怎么做。
标量数据可有操作符(如相加和串联),通常会产生一个新的标量数据。标量数据的值可以存放在标量变量中。标量可以从
文件或设备读取,也可以写进去。
2.1 数字
虽然标量在大多数情况下不是数字就是字符串,现在我们最好还是将它们分开来看待。我们首先讨论数字,再讨论字符串。
2.1.1 所有数字内部的格式一致
在下面几段中,你将看到整数(如255,2001 等)和浮点数(有小数点的实数,如3.14159,1.35x1025),但在内部,Perl 都把
它们当作双精度浮点数来处理◆。这就是说在Perl 内部没有整数值。程序中的整数被当做等价的浮点数来处理◆。你也许
注意不到这种转换(或者不关心),但你不应当寻找只属于整数的操作符(不能被浮点数使用的),因为它们不存在◆。
◆双精度浮点类型类似于C 中由double 定义的类型。它们的大小可能和具体的机器相关,许多当代的系统都使用IEEE-754 的格式,它有15
位精度,其范围至少在1e-100 到1e100 之间。
◆有时,Perl 也会使用内部的整数,其对程序员不可见。这样做导致的唯一不同是,程序将运行更快。谁又能抱怨它呢?
◆Perl 中有integer pragma.但如何使用它超出了本书的范围。正如你将看到的,某些操作可以从浮点数得到整数。但那不是我们此刻讨论的
问题。
2.1.2 浮点数
数字符号(literal)是Perl 程序源代码中代替某个值的方法。数字符号不是计算或I/O 操作的结果,它是直接写进代码中的
数据。
Perl 语言入门(第四版)
22 / 201 9/21/2006
你可能已经很熟悉Perl 的浮点数。有或没有小数点的数字都是允许的(包括+或-号),也可带一个十进制的指数(符号为E)。
1.25
255.000
255.0
7.25e45 #7.25x10 的45 次方(一个大整数)
-6.5e24 # -6.5x10 的24 次方(一个大的负数)
-12e-24 #- -12x10 的-24 次方(很小的负数)
-1.2E-23 #指数符号可以大写(E)
2.1.3 整数
整数是简单明了的:
0
2001
-40
255
61298040283768
最后一个读起来有些困难。Perl 允许用下划线来分隔它,因此可以像下面这样书写:
61_298_040_283_768
它们是相同的值,但形式上有些不同。你可能认为逗号(,)更恰当,但逗号在Perl 中有其它用途(下一章中将介绍)。
2.1.4 非十进制整数
同许多其它语言一样,Perl 也允许使用非10 为底的数字。八进制以0 开头,十六进制以0x 开头,二进制0b 开头◆。在十
六进制中A 到F(或者a 到f)分别表示10 到15:
◆“前置0”指示符只对数字有效,对由字符串转换过来得数字无效,在本章后面你可以看到。可以利用oct()或hex()把某个看起来像八
进制或十六进制的数据串转换成数字。虽然没有“二进制”(bin)函数来转换二进制的值,如果某个字符串以0b 开头可由oct()做到。
0377 #八进制数字377,等同于十进制数字255
0xff #十六进制数字FF,等同于十进制数字255
0b11111111 #等同于十进制数字255
这些数字表面上看起来并不相同,但这三个数在Perl 中都代表同一个数。对于Perl 来讲,0 xFF 或255.00 是没有区别的,
因此选择一种你和你的程序维护者(我们是指那个要读懂你代码的可怜伙计。通常,这个可怜的家伙就是你,你很可能想
不起3 个月前,你为什么要那样做)认为最有意义的一种。
Perl 语言入门(第四版)
23 / 201 9/21/2006
当一个非十进制的数字超过4 位时,读起来将很困难。由于这个理由,Perl 允许你使用下划线来区分:
0x1377_0B77
0x50_65_72_7C
2.1.5 数字操作符
Perl 除了提供通常的操作符加(+),减(-),
阅读(1401) | 评论(0) | 转发(0) |
0

上一篇:DB2常用命令

下一篇:VSS使用手册

给主人留下些什么吧!~~