Подтвердить что ты не робот

С#: консоль выводит infinte (∞)

Я использую Visual Studio 2015 в Windows 10, я все еще новый кодер, я только начал изучать С#, и пока я был в процессе, я обнаружил класс Math и просто развлекался он, пока консоль не выйдет: "∞"

Это консольное приложение

Здесь код:

var k = Math.Sqrt((Math.Pow(Math.Exp(5), Math.E)));
var l = Math.Sqrt((Math.Pow(Math.PI, Math.E)));
Console.WriteLine("number 1 : " + k);
Console.WriteLine("number 2 : " + l);
Console.ReadKey();
var subject = Math.Pow(Math.Sqrt((Math.Pow(Math.PI, Math.E))), Math.Sqrt((Math.Pow(Math.Exp(5), Math.E))));
Console.WriteLine(k + " ^ " + l + " = " + subject);
Console.ReadKey();
//output  :
/*number 1 : 893.998923601492
 number 2 : 4.73910938029088
 893.998923601492 ^ 4.73910938029088 = ∞*/

Почему это происходит? используя нормальный калькулятор, результат: 96985953901866.7

4b9b3361

Ответ 1

Потому что вы делаете

var subject = Math.Pow(l, k);

вместо

var subject = Math.Pow(k, l);

Вы инвертируете базу с экспонентой!

И вы действительно должны повторно использовать свои переменные, а не перерасчитывать все! (если бы вы повторно использовали переменные, проблема была бы более очевидной).