Math.Pow vs scientifi c обозначение - PullRequest
0 голосов
/ 25 апреля 2020

Я хотел бы знать, есть ли разница между написанием Math.Pow(10, -3) и 1E-3. Когда я Console.WriteLine оба значения, я получаю один и тот же вывод, так есть ли причина отдавать предпочтение одному над другим?

1 Ответ

4 голосов
/ 25 апреля 2020

Когда вы вызываете Math.Pow(10, -3), тогда. NET будет вычислять значение каждый раз, и вычисление повлияет на вашу производительность, потому что этот метод работает для числа с плавающей запятой двойной точности как степени.

1E-3 - это просто число, поэтому нет необходимости вычислять его во время выполнения.

Лучше и понятнее использовать цифра c литералы вместо оператора умножения и Лучше использовать оператор умножения вместо Math.Pow, когда это возможно.

Вот эталонный тест , который показывает, что для литерала цифра c требуется почти нулевое время для выполнения.

...