Perl入門ゼミ

  1. Perl
  2. 構文
  3. here

数値リテラル - ソースコード上での数値の表現

ソースコード上での数値の表現を数値リテラルといいます。数値リテラルは次の表記が可能です。

整数

クオートやダブルクオートで囲まれていない数字は、Perlによって数値リテラルとして解釈されます。

my $num1 = 1;

# 負の数
my $num2 = -1;

桁区切りの表現

数値リテラル中でアンダーバーが含まれていた場合は無視されます。1_000_000 と 1000000 という表記は等価です。アンダーバーは、大きな数値を読みやすくするために使用することができます。

# _ を桁区切りとして利用できる。
my $num3 = 1_000_000;

小数(浮動小数点)

.(ドット)が含まれると、小数として解釈されます。数学での表記と同じです。Perlの少数は倍精度浮動小数点です。

# 小数点
my $num4 = 1.33;

少数の指数表記

少数の数値の表現として指数表記を使うことができます。1.3E3 は、1300 と等価です。1.3E-3 は、0.0013 と等価です。

# 1.3 × 10の3乗
my $num5 = 1.3E3;

# 1.3 × 10の-3乗
my $num6 = 1.3E-3;

2進数

0b を先頭につけると2進数で数値を指定できます。

my $num_bin = 0b1111;

8進数

0を先頭につけると8進数で数値を指定できる。

my $num_oct = 0777;

16進数

0x を先頭につけると16進数で数値を指定できる。

my $num_hex = 0xFFFF;

Perlにおける数値とは?

Perlにおける数値については以下で詳しく解説しています。

サンプルプログラム

数値リテラルを使ったサンプルプログラムです。

use strict;
use warnings;

my $num1 = 1;

# 負の数
my $num2 = -1;

# _ を桁区切りとして利用できる。
my $num3 = 1_000_000;

# 小数
my $num4 = 1.33;

# 少数の指数表記 1.3 × 10の3乗
my $num5 = 1.3E3;

# 1.3 × 10の-3乗
my $num6 = 1.3E-3;

print "\$num1 = $num1\n";
print "\$num2 = $num2\n";
print "\$num3 = $num3\n";
print "\$num4 = $num4\n";
print "\$num5 = $num5\n";
print "\$num6 = $num6\n";