Что такое E в плавающей запятой?

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

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

Выход: 1700

Ответ 1

Электронная запись

Большинство калькуляторов и многие компьютерные программы представляют очень большие и очень маленькие результаты в научной нотации. Поскольку индексы с верхним индексом, такие как 10 7, не всегда могут быть удобно отображены, буква E или e часто используется для обозначения десятикратного возведения в степень (которая будет записана как "x 10 b ") и сопровождается значением показателя степени, Обратите внимание, что при таком использовании символ e не связан с математической константой e или показательной функцией e x (путаница, которая менее вероятна с капиталом E); и хотя оно обозначает показатель степени, обозначение обычно называют (научным) обозначением E или (научным) электронным обозначением, а не (научным) показательным обозначением (хотя последнее также встречается). Использование этой записи не поощряется публикациями.


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

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

Смотрите спецификацию С#:

Вещественные литералы [тип числовых литералов, которым разрешен символ E в них] используются для записи значений типов float, double и decimal.

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

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

Ответ 2

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

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

Ответ 3

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

1,7 → 17,0 → 170,0 → 1700,0

Ответ 4

E+3 = 10^3, so 1.7 * 10^3 = 1700