2016-03-21 25 views
11

Windows 10'da Visual Studio 2015 kullanıyorum, hala yeni bir kodlayıcım, C# yi öğrenmeye yeni başladım ve süreçteyken ben konsol outputted kadar, Matematik sınıfını keşfetti ve sadece onunla eğleniyordu: "∞" C#: Konsolu çıkarılıyor infinte (∞)

bir konsol uygulaması İşte

kod var:

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 = ∞*/ 

neden oluyor? sonuç, normal hesap makinesi kullanarak şudur: yerine

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

Sen üs ile taban tersini edilir

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

yapıyoruz Çünkü 96985953901866,7

+1

Bir çift ile başa çıkmak için biraz fazla büyük olan 4.7^894''ü hesaplamaya çalışıyorsunuz. –

cevap

19

!

Ve gerçekten her şeyi yeniden hesaplamak yerine değişkenlerinizi yeniden kullanmalısınız! (değişkenleri tekrar kullandınız, problem daha açık olurdu).