只是想知道,有可能在C#中计算负数的平方根吗?例如sqrt(-1)= i.
我写了这段代码:
using System;
public static class sqrts
{
public static void Main()
{
string x;
double sqrtofx;
Console.Write("Enter a number: ");
x = Console.ReadLine();
sqrtofx = Math.Sqrt(Convert.ToInt32(x));
Console.WriteLine("\nSqrt({0}): {1}", x, sqrtofx);
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我输入25,它会给出5.然而,如果我输入-5,它会给出NaN而不是5i.
使用C#实现的复杂结构:http://msdn.microsoft.com/en-us/library/system.numerics.complex.aspx
Complex c = new Complex(-1,0);
Complex result = Complex.Sqrt(c);
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.numerics.complex.sqrt.aspx
有一个Complex结构应该做你需要的:
Complex c = Complex.Sqrt(-25); // has a value of approximately 0 + 5i
Run Code Online (Sandbox Code Playgroud)
(从大多数数字类型中隐含转换,包括int,到Complex.它的工作方式如下:数字作为实部,虚部为0.这-25是一个有效的参数Complex.Sqrt(Complex).)