尝试编写一个小程序来计算使用c ++增加因子数。
我正在尝试将增加因子分配给变量以计算某些数字
我总是得到double
和int
类型的无效操作数
如果我想将500 * (1.00013358^3)
分配给变量,我应该使用什么类型?
这是我试图没有运气的一些例子:
int i=500 * (1.00013358^3);
然后:
float i =500 * (1.00013358^3);
但我总是得到类型为double和int
的无效操作数答案 0 :(得分:3)
我认为你的期望是^
是某种权力运算符。但它不是,它是按位异或或(XOR),只能应用于整数类型。
您可能需要查看cmath
标题中的std::pow
:
double i = 500 * std::pow(1.00013358, 3);
答案 1 :(得分:3)
由于^
不是我想要的幂运算符(它实际上是按位xor
运算符),您可能想尝试这样的事情:
double x = 1.00013358;
double i = 500*x*x*x; // i == 500 * std::pow(1.00013358, 3)
答案 2 :(得分:1)
欢迎使用C ++,^
用于按位异或。如果你想做电源,请使用pow()
。 float
和double
都适用于您的情况。
float i = 500 * powf(1.00013358, 3);