二进制^的操作数无效
Invalid operants to binary ^
我正在C中构建一个函数,并面临一个问题。
我知道所有的操作数都应该是相同的格式。
如果a、b、c是整数,最终结果和d是浮点,e=2.71828,如何使程序运行?
f=(a*(e^(-((x-b)^2/(2*c^2))))+d);
^
是逐位互斥或运算符,仅适用于整数类型。
我猜你想要求幂。没有运算符,但标准库包含求幂函数:pow
表示任意值,exp
表示e
。对于平方,可能最好使用乘法。
这个问题用两种不同的语言标记,这两种语言有不同的标准库。在C中,你会做
#include <math.h>
f = a*exp((x-b)*(x-b)/(2*c*c)) + d;
在C++中,头是<cmath>
,函数在std
命名空间中。
在c++中使用pow而不是^运算符。在顶部包括cmath预处理器
相关文章:
- 类型"int"和"const char [15]"到二进制"运算符<<"的无效操作数^
- 二进制表达式 cout 问题的无效操作数
- 二进制'operator+' 'int*'和'int*'类型的无效操作数
- 'const char [26]' 和 'LPSTR ' 类型的无效操作数
- 如何修复"二进制表达式的无效操作数"?
- 如何将无效操作数修复为二进制表达式
- 错误:二进制表达式('float' 和 'float')返回的无效操作数 (x & (1 << 31)) == 0
- 加密注释C++具有无效操作数的编译错误
- 如何将无效操作数修复为带有字符串的二进制表达式?
- 模板 &&运算符中的无效操作数+
- 类型别名和运算符<<使用 ostream_iterator 重载会导致无效操作数
- 类型为"double" snd const char [3]' 到二进制'operator<<'的无效操作数
- 二进制表达式的语义问题无效操作数("双精度"和"双精度")
- 'double' 和 'const char [2]' 到二进制"运算符!="的无效操作数|
- 具有重载运算符<<的无效操作数
- 'double' 和 'double' 类型的无效操作数
- 整数和无效操作数中的小数*已更新
- 二进制'operator<<' 'const char [6]'和'const char [3]'类型的无效操作数
- 将算法c++的无效操作数替换为二进制表达式
- 'char*'和'const char [2]'到二进制'operator+'类型的 C++ 无效操作数