Perl入門 ≫ LESSON11 算術関数
算術関数
Perlでは、数値に関する色々な関数が用意されています。
あまり使う機会はないかもしれませんが、知っておいて損はないので試してみましょう。
●abs:絶対値
abs 数値
abs(数値)
数値の絶対値を返します。
my $v = abs 1;
print "$v\n";
my $x = -2.2;
$v = abs($x);
print "$v";
結果
1
2.2

Perlの組み込み関数は、大体
関数 引数;
のような形になっているものは
関数(引数);
とやっても同じ事です。
どちらを使うかは見やすさとかバランスを考えて適当に使ってください。
今後この ( ) 表記は省略します。
●exp:数値の乗算
exp 数値
eの数値乗を返します。
my $v = exp 0;
print "$v\n";
my $x = 3;
$v = exp($x);
print "$v";
結果
1
20.0855369231877
●int:整数
int 数値
数値の整数部を返します。
my $v = int 2.1;
print "$v\n";
my $x = -1.14;
$v = int($x);
print "$v";
結果
2
-1
●log:自然対数
log 数値
数値の自然対数(底はe)を返します。
my $v = log 2;
print "$v\n";
my $x = 1;
$v = log($x);
print "$v";
結果
0.693147180559945
0
●not:否定
not 数値
数値の論理否定を返します。
(0の場合は1だが、0以外の時はundef)
my $v = not 1;
print "$v\n";
my $x = 0;
$v = not($x);
print "$v";
結果
 ←undef
1
●sqrt:平方根
sqrt 数値
数値の平方根を返します。
my $v = sqrt 9;
print "$v\n";
my $x = 2;
$v = sqrt($x);
print "$v";
結果
3
1.4142135623731
●rand:乱数
rand [数値]
0以上で数値より小さい浮動少数乱数を返します。
数値が省略されたときは1。
my $v = rand;
print "$v\n";
my $x = 5;
$v = rand($x);
print "$v";
結果
0.75445556640625
3.6016845703125
●srand:乱数のシード設定
srand [数値]
randの乱数シードを設定します。
数値を省略すると適当に設定されます。
srand;
my $x = 5;
for(my $i = 0; $i < 5; $i++) {
#乱数を整数値に直す
my $v = int rand($x);
print "$v\n";
}
結果
3
4
4
2
0
●sin:正弦
sin 数値
数値の正弦(sine)をラジアン返します。
my $v = sin(0);
print "$v\n";
my $x = 1;
$v = sin $x;
print "$v";
結果
0
0.841470984807897
●cos:余弦
cos 数値
数値の余弦(cosine)をラジアン返します。
my $v = cos(0);
print "$v\n";
my $x = 1;
$v = cos $x;
print "$v";
結果
1
0.54030230586814
●atan2:逆正接
atan2 数値1, 数値2
数値1/数値2の逆正接(arctangent)を-π/2から+π/2の範囲で返します。
my $v = atan2 0, 1;
print "$v\n";
my $x = 1;
my $y = 2;
$v = atan2($x,$y);
print "$v";
結果
0
0.463647609000806