コンピュータプログラムのもっとも得意なことと言えば、やはり計算です。 足し算や割り算などの基本的な計算の仕方をみてみましょう。
足し算と引き算
それでは、まずず足し算と引き算をしてみましょう。 足し算と引き算は、それぞれ+と–の記号を使って計算します。
var a = 239879123
var b = 754372
var sum = a + b
var sub = b - a
print(sum)
print(sub)
240633495
-239124751
手で計算しようと思うと、ちょっと戸惑ってしまうようなややこしい計算でも、プログラムであればあっという間に結果がわかります。
このプログラムで注意しないといけないのは、=は値を代入するという意味だということです。 それも、必ず右側のモノを左側に代入します。 プログラムでは、特に指定がなければ、右側から左側に、上から下に処理されていきます。 例えば、
var sum = a + b
という行は、次の二つの処理を順番に行なっています。
- a + b を計算する
- 1(つまり、a + b)の結果をsunに代入する
掛け算と割り算
足し算、引き算とくれば、次は掛け算と割り算ですね。 掛け算の記号は*、割り算は/です。 この2つも同じようにプログラムしてみましょう。
var a = 1234
var b = 561
var mul = a * b
var dev = a / b
print(mul)
print(dev)
692274
2
掛け算の結果はいいのですが、割り算の結果がおかしいですね。 1234 / 561 は割り切れなくて、結果は小数になるはずですが、ぴったり2という結果になっています。
このような結果になってしまうのには理由があります。 それは、変数aも変数bも値が整数なので、結果も整数にしかならないためです。 そのため、小数点以下の値が切り捨てされて2という結果になっているのです。 (四捨五入にはならないので注意しましょう)
それでは、結果を小数で正確に表すためにはどうしたらいいのかというと、aとbの値を小数にしてあげればOKです。
var a = 1234.0
var b = 561.0
var mul = a * b
var dev = a / b
print(mul)
print(dev)
692274.0
2.19964349376114
aとbに代入している数字の後ろに.0をつけて、値が整数ではなく、小数であることを明確にしました。 これで、割り算の結果が小数点以下まで表示されるようになりました。 割り算の結果だけでなく、掛け算の結果の最後にも.0がついて小数になっていることに注意しましょう。
なおプログラムの世界には、分数、というものはありません。 基本的には小数を使います。 1 / 3 のような小数にすると無限に続くようなものはどうなるのかと思われるかもしれませんが、あるところまで小数で表現して、残りは切り捨てられます。
整数と小数を混ぜるとどうなる?
直感的には、整数と小数を一緒に混ぜて計算しても、どちらも数値なので問題なく計算できるような気がします。 実際にプログラムしてみましょう。
var a = 10
var b = 5.5
var sum = a + b
print(sum)
すると、今まで計算結果が表示されていたウィンドウになにやら小難しい英語が表示されて、15.5のような数字は表示されません。 これは、整数と小数という異なるデータ型の変数を使って計算しているために、エラーが発生している状態になっているということです。 計算結果の代わりにいろいろ書いてある英語は、どんなエラーが怒っているかを表したエラーメッセージです。
データ型とエラーの解決方法については次回の記事で解説したいと思います。