14

E+3ですか?ここで正確に何が起こりますか?このアプローチを他のデータ型で使用できますか、それともフローティングポイントでのみ使用できますか?

static void Main(string[] args)
{
    double w = 1.7E+3;
    Console.WriteLine(w);
}

出力:1700

4

4 に答える 4

19

E表記

ほとんどの計算機と多くのコンピュータプログラムは、科学的記数法で非常に大きな結果と非常に小さな結果を示します。10 7のような上付きの指数は常に便利に表示できるとは限らないため、文字Eまたはeは、10の累乗( "x 10 b "と表記)を表すためによく使用され、その後に指数の値が続きます。 。この使用法では、文字eは数学定数eまたは指数関数exに関連していないことに注意してください。(大文字のEとの混同の可能性は低い); 指数を表しますが、この表記は通常、(科学的)指数表記ではなく、(科学的)E表記または(科学的)e表記と呼ばれます(後者も発生します)。この表記の使用は、出版物によって推奨されていません。


2番目の質問について:

このアプローチを他のデータ型で使用できますか、それともフローティングポイントでのみ使用できますか?

C#仕様を参照してください:

実数リテラル[で許可されている数値リテラルのタイプ]は、、、、およびのタイプのE値を書き込むために使用されます。floatdoubledecimal

ただし、またはDoubleを含むリテラルはVisual Studioでとして認識されるため、以外のものに割り当てる場合は、リテラルを適切にキャストまたはサフィックスする必要があります。この動作が指定されている場所が見つかりません。eEDouble

float f1 = 7E1;     // Compile error. Needs F suffix (7E1F)
decimal d1 = 8E2;   // Compile error. Needs M suffix (8E2M)
double d2 = 9E3;    // Works.

int overninethousand = (int)9E3 + 1; // Works
于 2012-05-21T14:20:54.763 に答える
16

一般的に、それは指数/科学的記数法です...

1.7E + 3 = 1.7 x 10 ^ 3 = 1700

于 2012-05-21T14:21:01.533 に答える
5

E + 3は、小数点以下が3回右に移動することを意味します

1.7-> 17.0-> 170.0-> 1700.0

于 2012-05-21T14:21:11.947 に答える
2
E+3 = 10^3, so 1.7 * 10^3 = 1700
于 2012-05-21T14:21:36.360 に答える