この章ではプログラムで計算する方法について説明します。
Perlでの数値は整数や小数点など普段使用している数値と同じものです。
その数値でプログラムの中で計算を行うことができます。
Perlでの数値は大きく分けると整数と実数に分けることができます。実数は浮動小数点数と呼ばれています。
浮動小数点数とは「9.1」など小数点で表される数値です。
整数は10進数だけではなく2進数、8進数、16進数があります。
10進数は、普段、我々が使用している100や10などの数字です。
8進数の場合は先頭に
では例を見てみましょう。
「0b1100100」
8進数で100を表すと
「0144」
16進数で100を表すと
「0x64」
になりますが、print文で出力します
とすべて10進数になって出力されます
つまり、100が出力されます。
ではPerlプログラムで計算を行ってみましょう。
Perlプログラムでの計算方法は普通の算数と同じ計算方法です。
「+」は足し算、「-」は引き算、
「/」は割り算、「*」は掛け算、
「%」は割り算の余りを求めます。
では例をみてみましょう。
それは掛け算の方が足し算より優先順位が高いという法則です。
優先順位を変えるには
これと同じようにPerlプログラムの中にある演算子同士でも優先順位が存在します。
ですので、以下のように計算式の括弧を外しますと初めに左側が結合してしまうので、計算することが出来なくなってしまいます。
では以下の掛け算や割り算の場合にはどうかと言いますと計算式に括弧を付けなくても掛け算や割り算の方が文字列連結演算子より優先順位が高いので、計算式に括弧を付けた時と同じ結果になります。
例のプログラムの最後にある$aと$bの値の
普通、計算が出来るのは数字だけです。
Perlは足し算などの計算関係の演算子の両辺には数字が来ることを期待しているので、数字らしき文字列を見付けた場合には数字に自動変換してくれるので、結果は
では以下の例のように足し算などの計算関係の演算子の両辺に数字とは関係ないものがあったらどうなるでしょうか?
計算できないようなものは0で計算されます。