【发布时间】:2021-02-10 01:47:48
【问题描述】:
我正在研究神经网络,并且在尝试执行 sigmoid 函数时,它显示了一个我不明白的错误:二进制 ^ 的无效操作数(具有 'double' 和 'int')。这是我的一段代码:
double neuron(const int num_in, const double input[num_in], const double weight[num_in], const double bias) {
int i;
int asubj = 0;
int zsubj;
for (i = 0; i < num_in; i++)
{
asubj = asubj + input[i]*weight[i]+bias;
}
zsubj = (1)/(1 - (int)(M_E)^(-asubj)); // When I run the program, it stops here, I don
return 0;
}
任何帮助将不胜感激。
【问题讨论】:
-
^是 XOR 运算符,不是 幂运算符。事实上,C 没有幂运算符。 -
另外,带有整数操作数的
/执行整数(截断)除法。这似乎不太可能是你想要的。更一般地说,您似乎希望asubj和zsubj具有类型double,而不是int。 -
@JohnBollinger 谢谢!
标签: c neural-network artificial-intelligence sigmoid