我在C中构建一个函数并面临一个问题。无效的二进制操作符^
我知道所有的操作数都应该是相同的格式。
如果a,b,c是整数,end result和d是float且e = 2.71828,那么如何让程序运行?
f=(a*(e^(-((x-b)^2/(2*c^2))))+d);
我在C中构建一个函数并面临一个问题。无效的二进制操作符^
我知道所有的操作数都应该是相同的格式。
如果a,b,c是整数,end result和d是float且e = 2.71828,那么如何让程序运行?
f=(a*(e^(-((x-b)^2/(2*c^2))))+d);
在C++中使用pow而不是^运算符。在顶部包含cmath预处理器
^
是按位异或运算符,仅适用于整数类型。
我猜你想要指数。这里没有操作符,但标准库包含取幂函数:pow
为任意值,而exp
为e
。为了平方,最好使用乘法。
该问题的标签有两种不同的标准库的不同语言。在C语言中,你会做
#include <math.h>
f = a*exp((x-b)*(x-b)/(2*c*c)) + d;
在C++中,标题是<cmath>
和功能在std
命名空间。
'^'是一个二进制异或,并非幂指数。参见'exp()'函数。 – FatalError 2014-09-03 14:27:38