C#:控制台输出无限(∞)

时间:2016-03-21 09:48:47

标签: c# visual-studio math console-application infinite

我在Windows 10上使用Visual Studio 2015,我还是一个新的编码器,我刚刚开始学习C#,当我在这个过程中,我发现了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

1 个答案:

答案 0 :(得分:19)

因为你正在做

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

而不是

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

你用指数反转基数!

你应该重用你的变量,而不是重新计算一切! (如果你重复使用这些变量,问题会更加明显)。