0

Java/C++で末尾文字を使用する理由に少し興味がありました。お気に入り、

float f = 23f;

書くこともできます

float f = 23;

どちらも同じ効果。

4

3 に答える 3

6

これは、数学演算で数値をハードコーディングする場合に重要です。

例えば:

5 / 2 == 2
5.0f / 2.0f = 2.5f
5.0 / 2.0 = 2.5      // without the 'f' suffix you have doubles
5.0d / 2.0d = 2.5d   // for doubles 'd' can be used as well

また、これらは異なる結果になります。

blah / 3.141592653592  // this returns an accurate double
blah / 3.141592653592f // this returns a less accurate float
于 2013-06-22T11:37:04.253 に答える
1

これは、2 番目のケース (つまり、変数の型) で型情報を提供できるものが他にあるためです。そのような場合、サフィックスは必要ありません。

ただし、型情報を数値リテラル自体から導出する必要がある場合には、それらが必要になることがあります。たとえば、次の 2 つの式を考えてみましょう。

float f = 23 / 5;  // Integer division

対。

float f = 23f / 5; // Floating point division

接尾辞がある場合とない場合では、異なる結果が得られます。

于 2013-06-22T11:39:29.690 に答える