Что такое E с плавающей точкой?

Что такоеE+3? Что именно здесь происходит? Можем ли мы использовать этот подход в других типах данных или мы можем использовать его только с плавающей запятой?

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

Выход: 1700

 Robᵩ21 мая 2012 г., 16:19
Ответы, которые вы получите для разных языков, будут одинаковыми, но не идентичными. Пожалуйста, выберитеone язык программирования и ограничьте свой вопрос этим.
 Alex21 мая 2012 г., 16:20
E + 3 == 10 ^ 3 == 10 * 10 * 10 == 1000. Таким образом, 1,7 * 1000 = 1700. Это называется "инженерной нотацией". насколько мне известно
 nnnnnn22 мая 2012 г., 08:04
@BlueM - поскольку для больших или меньших чисел он более компактен, например, 1.7E + 30 проще, чем набирать или читать 29 нулей в 1700000000000000000000000000000. (И если вы знаете, что вы будете иметь дело с диапазоном больших чисел, часто проще придерживаться стиля единой нотации. Я бы не использовал нотацию E, если бы знал, что все нужные мне числа были длиной до четырех или пяти цифр.)
 Benjamin Lindley21 мая 2012 г., 16:29
@Rob: я не знаю про asp, но для всех других языков, которые он выбрал, ответ на самом деле идентичен.
 BlueM21 мая 2012 г., 16:24
Интересно, почему кто-то предпочитает 1.7E + 3, а не 1700?

Ответы на вопрос(4)

E + 3 означает, что десятичное место смещено 3 раза вправо

1,7 - & gt; 17,0 - & gt; 170,0 - & gt; 1700,0

 Masoud Darvishian21 мая 2012 г., 16:30
спасибо большое, я понял

В общем, это экспоненциальная / научная запись ...

1,7E + 3 = 1,7 x 10 ^ 3 = 1700

 Masoud Darvishian21 мая 2012 г., 16:30
спасибо большое, я понял
 21 мая 2012 г., 16:23
Извините, я изначально неправильно понял его номер как 1.73E + 3, мой плохой, исправил его.
Решение Вопроса

E notation

Most calculators and many computer programs present very large and very small results in scientific notation. Because superscripted exponents like 107 cannot always be conveniently displayed, the letter E or e is often used to represent times ten raised to the power of (which would be written as "x 10b") and is followed by the value of the exponent. Note that in this usage the character e is not related to the mathematical constant e or the exponential function ex (a confusion that is less likely with capital E); and though it stands for exponent, the notation is usually referred to as (scientific) E notation or (scientific) e notation, rather than (scientific) exponential notation (though the latter also occurs). The use of this notation is not encouraged by publications.

Что касается вашего второго вопроса:

can we use this approach in other data type or we can only use it in floating points?

УвидетьC # spec:

Real literals [the type of numeric literals that are allowed an E in them] are used to write values of types float, double, and decimal.

Тем не менее, вы должны приводить литерал или суффикс соответствующим образом при назначении чего-либо, кромеDouble, потому что любой буквальный сe или жеE в нем признаетсяDouble в Visual Studio. Я не могу найти, где это поведение указано.

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

int overninethousand = (int)9E3 + 1; // Works
 Masoud Darvishian21 мая 2012 г., 16:31
Большое спасибо, я понял & # x2665;
 Masoud Darvishian21 мая 2012 г., 16:51
спасибо еще раз, это было очень полезно ...
E+3 = 10^3, so 1.7 * 10^3 = 1700
 Masoud Darvishian21 мая 2012 г., 16:30
спасибо большое, я понял

Ваш ответ на вопрос