Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 数的X根_C - Fatal编程技术网

C 数的X根

C 数的X根,c,C,我需要取一个数字的根,N是数字,x是根 2^(1/x) ^作为一种力量,而不是异或 我曾经尝试过使用POW函数,但每当我尝试将一个变量作为第二个参数时,它都非常讨厌我 #include <stdio.h> #include <math.h> int main(int argc, char **argv) { double root = 4; double root_result = 0; root_result = pow(2,1/root);

我需要取一个数字的根,N是数字,x是根

2^(1/x)

^作为一种力量,而不是异或

我曾经尝试过使用POW函数,但每当我尝试将一个变量作为第二个参数时,它都非常讨厌我

#include <stdio.h>
#include <math.h>

int main(int argc, char **argv)
{
    double root = 4;
    double root_result = 0;

    root_result = pow(2,1/root);

    printf("%f",root_result);
    return 0;
}
可能还有更好的选择。我能找到的唯一其他函数是
exp
,但这些都是基本的e函数,在我的例子中这并没有什么帮助

你喜欢这个工作吗

exp(log(abs(1))/n))

n是我想要的根

-lm
添加到链接命令行以包含数学库。一些平台需要这样做;其他人则不然。考虑到该错误,您很有可能需要
-lm

日志/乘法/反日志方法的可能副本可能受到exp()操作放大精度的限制。。。但这肯定是一种获得不受支持的电源值的方法。我认为不需要
abs()
abs(1)==1
-但无论如何,您可能想要2而不是1),并且使用
exp()
log()
将或多或少提供正确的答案,但是你会遇到同样的链接问题——函数会在数学库中。再次感谢你的帮助。哇,这很有效。有没有一种方法可以让我绕过这个链接器?当你使用数学库中的函数时,没有一种方法可以避免链接数学库。很久以前,并不是所有的机器都包含FPU(浮点单元),所以有时需要包含浮点仿真的数学库,有时需要使用硬件FPU的版本。因此,数学库是分开的,以便更容易地进行切换。正如我所指出的,一些平台在主标准库中包含数学函数,因此您不需要
-lm
链接器选项(但是有一个空库,因此如果您使用它,就不会出现错误)。
exp(log(abs(1))/n))