Что 1.e0 значит, в следующем кодеЧто 1.e0 значит, в следующем коде
product *=
((1.e0-pow((double)2,i-32))*(1.e0-pow((double)2,i-32)))/(1.e0-pow((double)2,i-r));
Это C++ кода, и как я могу написать 1.e0 в C#
Что 1.e0 значит, в следующем кодеЧто 1.e0 значит, в следующем коде
product *=
((1.e0-pow((double)2,i-32))*(1.e0-pow((double)2,i-32)))/(1.e0-pow((double)2,i-r));
Это C++ кода, и как я могу написать 1.e0 в C#
<number>e<power> = <number> * 10^<power>
Где мощность в десять. В основном число после e
сообщает вам, сколько нулей вам нужно добавить, если оно положительно. Отрицательные силы заставляют число двигаться на одну цифру справа.
Примеры
1.2e-3 = 1.2 * 10^-3 = 1.2 * 0.001 = 0.0012
1.2e-2 = 1.2 * 10^-2 = 1.2 * 0.01 = 0.012
1.2e-1 = 1.2 * 10^-1 = 1.2 * 0.1 = 0.12
1.2e0 = 1.2 * 10^0 = 1.2 * 1 = 1.2
1.2e1 = 1.2 * 10^1 = 1.2 * 10 = 12
1.2e2 = 1.2 * 10^2 = 1.2 * 100 = 120
1.2e3 = 1.2 * 10^3 = 1.2 * 1000 = 1200
Вы можете увидеть эти обозначения на калькуляторах. Когда результат слишком велик и не будет вписываться в дисплей в противном случае, калькулятор автоматически переключится на экспоненциальную нотацию.
В C# можно написать формулу, как это:
product *= (1 - Math.Pow(2, i - 32)) * (1 - Math.Pow(2, i - 32))/
(1 - Math.Pow(2, i - r));
Преобразования в double
происходит автоматически. Одна пара круглых скобок является излишней. Один Подвыражение происходит дважды, вы могли бы написать:
double temp = 1 - Math.Pow(2, i - 32);
product *= temp * temp/(1 - Math.Pow(2, i - r));
См: - Math.Pow Method (Double, Double) (MSDN)
Обеспечение что pow
возводит к власти, C# код будет
product *= (1.0 - Math.Pow(2, i - 32)) *
(1.0 - Math.Pow(2, i - 32))/
(1.0 - Math.Pow(2, i - r));
Как вы можете видеть 1.e0
только 1.0
- double
представление 1
попробовать '1.0' с 1 * (10 в степени 0) 1 –
Вы можете to google для типов номеров C#, констант, форматов и т. д. до тех пор, пока вы не придумаете 1e0 ;-) – TaW
[Литерал с плавающей точкой] (http://en.cppreference.com/w/cpp/language/floating_literal). – IInspectable