カテゴリー
Ruby

Rubyで計算しよう1

この章では数値オブジェクトの計算について説明します。
数値オブジェクトは整数と浮動小数点数のことを言います。
整数は10進数、8進数、16進数などで表せますが、10進数は1,2などの我々が普段使っている数字です。
8進数は先頭に「0」を付けて028などと書きます、16進数は先頭に「0x」を付けて0x41などと表現します。
浮動小数点数は「3.2」などの小数点を持った数値です。
では例をみてみましょう。999 では説明していきます。999 では次の例をみてみましょう。99 結果は以下の通りです。9 では説明をしていきます。9 =>浮動小数点数同士の計算を行っています。

9 =>足し算や引き算より掛け算や割り算を先に計算します。
どうしても足し算や引き算の方から計算したい場合は9のようにカッコで囲ってください。

9 =>足し算や引き算しかない場合は前から計算します。

9 =>**は割り算や掛け算より先に計算されますので、当然足し算や引き算より先に計算します。

9
=>浮動小数点数と整数の計算の結果は浮動小数点数になります。

9 =>これは整数同士の計算なので結果も整数です。
この場合、小数点以下は切り捨てられるので正確な計算は出来ません。

9 =>浮動小数点数と整数の割り算の計算の結果は小数点まで求めることが出来ますので、正確に計算することが出来ます。
次の例は数値を変数に入れてから計算を行っています。
このように変数同士の計算も行うことができます。99 結果は以下の通りです。9

カテゴリー
Perl

Perlで計算をしよう

この章ではプログラムで計算する方法について説明します。
Perlでの数値は整数や小数点など普段使用している数値と同じものです。
その数値でプログラムの中で計算を行うことができます。
Perlでの数値は大きく分けると整数と実数に分けることができます。実数は浮動小数点数と呼ばれています。
浮動小数点数とは「9.1」など小数点で表される数値です。
整数は10進数だけではなく2進数、8進数、16進数があります。
10進数は、普段、我々が使用している100や10などの数字です。
8進数の場合は先頭に1を付けて記述し、16進数の場合は先頭に1を付けて記述し、2進数の場合は先頭に1を付けて記述します。

では例を見てみましょう。1 2進数で100を表すと
「0b1100100」
8進数で100を表すと
「0144」
16進数で100を表すと
「0x64」
になりますが、print文で出力します
とすべて10進数になって出力されます
つまり、100が出力されます。
ではPerlプログラムで計算を行ってみましょう。
Perlプログラムでの計算方法は普通の算数と同じ計算方法です。
「+」は足し算、「-」は引き算、
「/」は割り算、「*」は掛け算、
「%」は割り算の余りを求めます。1
では例をみてみましょう。
1111 ここで優先順位について説明します。
1の場合には掛け算を計算してから、足し算を計算しますが、これは普通の算数の法則と同じです。
それは掛け算の方が足し算より優先順位が高いという法則です。
優先順位を変えるには1と、先に計算を行いたい箇所に括弧を入れます。
これと同じようにPerlプログラムの中にある演算子同士でも優先順位が存在します。1 優先順位が同じの場合には左側から評価、実行されます。
ですので、以下のように計算式の括弧を外しますと初めに左側が結合してしまうので、計算することが出来なくなってしまいます。1 括弧を付けることでその個所の優先順位が高くなるので、そこから結合、実行されていきます。
では以下の掛け算や割り算の場合にはどうかと言いますと計算式に括弧を付けなくても掛け算や割り算の方が文字列連結演算子より優先順位が高いので、計算式に括弧を付けた時と同じ結果になります。1では次の箇所の説明をします。
例のプログラムの最後にある$aと$bの値の1はダブルクォートで囲ってあるので、一見数字に見えますが文字列です。1 ではなぜ、文字列同士なのに足し算が出来るのか疑問に思いませんか?
普通、計算が出来るのは数字だけです。
Perlは足し算などの計算関係の演算子の両辺には数字が来ることを期待しているので、数字らしき文字列を見付けた場合には数字に自動変換してくれるので、結果は1になります。
では以下の例のように足し算などの計算関係の演算子の両辺に数字とは関係ないものがあったらどうなるでしょうか?1 結果は0が表示されます。
計算できないようなものは0で計算されます。