Tag: pow

我在这个C#代码中使用Math.Pow(a,b)函数有多么错误?

我发现以下代码没有任何问题,MSVC#编译器将NAN存储在“c”中: double c = Math.Pow(-8d, 1d / 3d); 虽然我认为这行应该为“c”计算-2,但编译器将NAN存储在“c”中? 我错了什么?

在C#中使用System.Math.Pow()方法查找数字的多维数据集根目录

在编写程序时,我遇到了在我的一个函数中找到数字的立方根。 当我使用下面的代码时,我得到了一个不正确的立方根值( 1被打印为n = 64 )。 public static void cubicPairs(double n) { double root = (System.Math.Pow(n, (1/3))); Console.WriteLine(root); } 现在我把代码稍微改成了这个, public static void cubicPairs(double n) { double root = (System.Math.Pow(n, (1.0/3.0))); //Changed how second parameter is passed Console.WriteLine(root); } 我得到root = 3.9999999999999996 (在调试时),但方法是打印4 (这是正确的)。 为什么这两个值之间存在差异,如果这与System.Math.Pow()方法的第二个参数有关(即1.0/3.0这是一个递归值),我应该用什么来查找多维数据集根这样我得到4 (同时调试)而不是3.9999999999999996 ?

Math.Pow计算不正确

我遇到了C#的问题。 准确地说Math.pow()。 如果我试着计算15 ^ 14那么我得到“29192926025390624”。 但如果我用Wolfram Alpha计算它,我会得到“29192926025390625”。 正如您所看到的,唯一的区别是1个数字。 Wolfram Alpha是正确的。 为什么不是C#? 以及如何解决这个问题,以便在C#中获得正确的值?7 我的代码非常简单,因为我只是尝试使用硬编码的示例。 所以我正在做的是: Math.Pow(15,14); 这给出了29192926025390624 。 而不是“29192926025390625”这是正确的答案。 链接: Wolfram Alpha