Cogito Ergo Sum.

我思う故に我あり

何で整数型ってものがあるのかわかんない、と。

 プログラミングの勉強を始めたばかりの彼、きっと数値と文字列の区別がゴッチャになっているに違いないと思って探りを入れてみたら、「それはいいんですが、むしろ何で整数しか扱えない変数ってものがあるのかよくわかんない」と。

 …、そりゃそうだよな。

 数学の概念としては、整数は実数に含まれるわけだから、整数しか扱うことのできない変数と実数を扱うことのできる変数があるのなら、最初から後者だけを使えば良さそうなもの。コンピュータの都合を考慮せずに人間として考えれば、そう思うのは当然。かつては僕だってそう思っていたはずなのに、虚を突かれて一瞬言葉を失ってしまった。

 数値を代入することのできる変数の型には、大きく分ければ整数型と浮動小数点数型がある。整数型の変数は整数しか扱うことができない。つまり、小数点以下が存在しない数、と言うかそもそも小数点というものが存在しない数しか扱うことができない。対する浮動小数点数型の変数は一応実数を扱うことができるが、数学的な意味での「実数」をちゃんと扱えるわけではなく、「小数点のついた数」をかろうじて扱うことができる程度、と言った方がいいだろう。整数型では扱うことのできない「小数点のついた数」を一応扱うことができるけれども、浮動小数点数型の変数には整数型にはなかった「誤差」の問題がつきまとう。

 だから、小数点のついた数を扱う場合には浮動小数点数型の変数を使い、小数点のついていない数を扱う場合には整数型の変数を使う。まぁ、この辺で手を打ってもらうか。