C中的括号,如何?
Parentheses in C, how?
我想用 C 写这个方程,但我不知道如何使用正确的括号。
Eq=sqrt(e^(-((T-thr))/T) ) + (1-a)/4
在 C 中,^
运算符不是求幂运算。相反,在 C 中,我们将 ex 写成 exp(x)
。除此之外,你的等式在 C 中是相同的。不过,我会在一些运算符周围放置空格:
Eq = sqrt(exp(-(T - thr) / T)) + (1 - a) / 4;
我假设你的变量(T
、thr
和a
)是浮点类型(float
或double
) .如果它们是整数,您可能希望强制编译器使用浮点运算,您可以(例如)这样做:
Eq = sqrt(exp(-((double)T - thr) / T)) + (1 - a) / 4.0;
还有...-(T - thr)
和(thr - T)
一样,所以我们可以简化:
Eq = sqrt(exp((thr - (double)T) / T)) + (1 - a) / 4.0;
And (ab)c = ab c,我们可以应用到指数的平方根:√(ex) = (ex)1/2 = ex/2。所以我们可以消去平方根:
Eq = exp((thr - (double)T) / (2 * T))) + (1 - a) / 4.0;
我想用 C 写这个方程,但我不知道如何使用正确的括号。
Eq=sqrt(e^(-((T-thr))/T) ) + (1-a)/4
在 C 中,^
运算符不是求幂运算。相反,在 C 中,我们将 ex 写成 exp(x)
。除此之外,你的等式在 C 中是相同的。不过,我会在一些运算符周围放置空格:
Eq = sqrt(exp(-(T - thr) / T)) + (1 - a) / 4;
我假设你的变量(T
、thr
和a
)是浮点类型(float
或double
) .如果它们是整数,您可能希望强制编译器使用浮点运算,您可以(例如)这样做:
Eq = sqrt(exp(-((double)T - thr) / T)) + (1 - a) / 4.0;
还有...-(T - thr)
和(thr - T)
一样,所以我们可以简化:
Eq = sqrt(exp((thr - (double)T) / T)) + (1 - a) / 4.0;
And (ab)c = ab c,我们可以应用到指数的平方根:√(ex) = (ex)1/2 = ex/2。所以我们可以消去平方根:
Eq = exp((thr - (double)T) / (2 * T))) + (1 - a) / 4.0;