整数は、ソフトウェアの内部動作にとって重要です。多くのものが、必ずしも「数値」とは考えられない整数として内部的に実装されているためです。たとえば、メモリ アドレスは一般に整数で表されます。個々の 8 ビット バイトは、一般に 1 バイトの整数と見なされます。および文字 (ASCII 文字や Unicode 文字など) は通常、整数値のコードポイントによって識別されます。(ちなみに、これらすべてのケースで、まれにそれらを表示したい場合、通常は 16 進表記を使用します。これは、8 ビット バイトごとに正確に 2 文字を使用するため便利です。) もう 1 つの重要なケースは、通常は次のとおりです。プログラミングの外でも数値として考えられているのは、配列インデックスです。数学でも、長さ 3 の配列には 1、2、および 3 の番号が付けられた要素があります (ただし、プログラミングでは、Scala を含む多くの言語が代わりにインデックス 0、1、および 2 を使用します。マッピングの基礎となるスキームが原因である場合があります)。メモリアドレスへのインデックス、および古い言語がこの理由でそうすることに関連する歴史的な理由による場合があります)。
より一般的に言えば、コンピューティング (および現実世界) の多くのことは厳密に量子化されています。「 2.4テーブル行」や「2.4 ループ反復」と書くのは意味がないので、算術演算が正確で、正確な整数量を表すデータ型を持つと便利です。
しかし、その区別が絶対に不可欠というわけではないというあなたの意見は正しいです。Perl、JavaScript、Tcl などの多くのスクリプト言語では、整数と浮動小数点数の明示的な区別がほとんど省略されています (ただし、必要に応じて暗黙的に変換が行われるため、インタプリタの動作で区別が行われることがよくあります)。 . たとえば、JavaScript では、typeof 3
とtypeof 3.0
は両方とも'number'
.