Javaに関する本からの引用「実数にはdouble型を使用することをお勧めします」および「実数にはdouble型を使用する必要があります」。実数または値の意味がわかりません... 実数とは何ですか?
2 に答える
整数ではなく実数。数学では、実数は4.2
や pi など、連続体に沿った任意の値にすることができます。整数は実数のサブセットです。
Java プリミティブは次のとおりです。数値にとって重要なものには、整数が必要なint
場合やdouble
分数を許可したい場合が含まれます。それらから逸脱する場合、通常、そうする特定の理由があります。
整数はバイナリで表現するのが非常に簡単で、指定されたビット数で正確に表現できる特定の範囲の整数を簡単に指定できます。Javaのint
は 32 ビットを使用し、-2,147,483,648 から 2,147,483,647 になります。他の整数型も同様ですが、ビット数が異なります。
ただし、連続体に沿って数値を表すことはより困難です。実数直線上の任意の 2 点の間には、無限に多くの他の実数があります。そのため、間隔内のすべての実数を正確に表すことはできません。これを回避する 1 つの方法は、浮動小数点数を使用することです。詳細には触れませんが、基本的に精度が失われるため、正確に表現できるものにはギャップがあります。多くの場合、これは重要ではありませんが、銀行口座の残高を追跡する場合などには問題になる可能性があります。有名なWhat Every Computer Scientist Should Know About Floating-Point Arithmeticを読む価値があるかもしれません。
Java では、これらの問題の一部を回避する 1 つの方法として、BigDecimal
. 他の一部の言語では、代替手段として他のプリミティブが提供される場合があります。たとえば、C# にはdecimal
データ型がありますが、Java にはありません。
実数は浮動小数点を意味します。つまり、整数 (double
または) ではなく、またはfloat
int
long