Learning Perl, 4th Edition(2-1 数字)

2.1 数字
 尽管一个scalar 通常既被使用为一个数字或者一个字符串,但是把它分开看作数字或者字符串是有用的目前。我们将首先看一下数字然后看字符串。
2.1.1 所有的数字具有同样的内部格式
你在下面的几个章节中将会了解,分出整数和浮点数。但是在内部,perl 计算的是双精度浮点值。这就意味着perl内部没有整数型。你可能不会注意这种perl内部的转换(或者关注了过多) ,你应该停止寻找与浮点数相对照的整数独有的操作。因为它们根本就不存在。
2.1.2 浮点数的单字
一个浮点数的单字就是一个值在perl源代码中的表现形式。一个浮点数的单字不是一个计算式的结果,或者一个I/O操作;而是直接写入到源代码中的数据。

PERL的浮点数单字看上去应该很熟悉。允许带有小数点也允许不带有小数点(包括一个可选的加号或者减号),也可以接一个10的平方的指示器用E这个符号。
    1.25
    255.000
    255.0
    7.25e45 #7.25 乘以 10的45次方。
    -6.5e24 # 负的6.5乘以10的24次方。
    -12e-24 #负的12乘以10的-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进制以外。
  8进制的语法开始是一个0,16进制语法开始是一个0x,2进制语法开始从0b,
  16进制的数字A到F,(a到f)表示10进制的10到15
    0377   #八进制, 与10进制的255一样大
    0xff   #十六进制, 也是10进制的255
    0b11111111 #同样也是255
  尽管这些值看上去不一样,但是对perl它们都是一样的。一点区别都没有如果你写
  0xFF或者255.000,所以选择对你或者你的维护程序员最熟悉的表现形式。(我们指的是
  可怜的小伙子会尽力计算你写的代码的含义,通常这个可怜的人就是你自己,你不能回忆起
  3个月前为什么这样写,写了什么)
 
  如果一个非十进制的数字比四个字母长,那样读起来比较困难,PERL允许为了看上去清楚加上下划线:
    0x1377_0B77
    0x50_65_72_7C
2.1.5 数字运算符
    perl 提供了一组典型的通用运算符,加,减,乘,除,如:
    2 + 3   #2加上3 ,5
    5.1 - 2.4 #5.1减去2.4, 2.7
    3 * 12  # 3乘以12 ,36
    14 / 2 # 14除以2, 7
    10.2 / 0.3 #10.2除以0.3, 34
    10 / 3 #总是浮点除法运算,3.333333....
    perl 也支持一个取模运算符(%),10%3的值是余数1,所有的数值都被缩减为它的整数值,如
    10.5%3.2是作为10%3来计算的。另外perl提供了一个类FORTRAN语言的运算符求幂运算符。
    这是许多用PASCAL,C的人所渴望的,这个操作符的表现形式是两个星号,如2**3,就是求2的3次方,是
    8。当我们需要的时候,将介绍其它的运算符。
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值