我怎么用正方形?例如,下面的计算:
2^4=16
但是,当我这样做的时候,结果是:6这个计算没有使用乘法的库吗?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int c,a=2,b=4;
c=a^b;
printf("%d",c);
return 0;
}
我怎么能在C中使用激进词呢?
发布于 2013-12-28 04:19:34
C中的^
是异或运算符。
使用pow()
来实现你想要达到的目标,比如;
c = pow(a, b);
链接程序时,可能需要通过添加链接器选项-lm
来引用-lm
库。
将更新引用到您的问题:使用sqrt()
double x = sqrt(4); /* Results in 2. */
或者简单地使用:
... = pow(4, 1./2.); /* Also results in 2. */
或
double y = pow(8, 1./3.); /* To also find 2. */
一般来说,这个公式适用于:
这可以通过以下方式来完成:
/* Return n-th radical root of the m-th power to x. */
double nrt_mpow(doubel x, double m, double n)
{
return pow(x, m/n);
}
/* Return n-th radical root of x. */
double nrt(double x, root n)
{
return nrt_mpow(x, 1, n):
}
或者交替地作为宏实现:
#define NRT_MPOW(x, m, n) pow((x), (m)/(n))
#define NRT(x, n) NRT_MPOW((x), 1., (n))
发布于 2013-12-28 04:19:38
在C中,^
是XOR运算符。2 XOR 4
确实等同于6
。
您应该包括math.h
头文件:
#include <math.h>
double pow( double base, double exp );
...
x = pow(2, 4);
发布于 2013-12-28 04:26:50
数学库的标题是:
#include <math.h>
C使用pow()代替^。
c = pow(a,b);
https://stackoverflow.com/questions/20814439
复制相似问题