这就是我检查2 * M_PI的数字除数的方法。 “ w”是2/3的常数,t是随t + = dt变化的变量,其中dt为0.1。我正在尝试使用mod运算符%来查看是否可整除。但是它不起作用。
布尔可除
实数w = 2/3;
真正的
if((w*t) % 2*M_PI == 0)
{
divisible = true;
}
else
{
divisible = false;
}
这是我得到的错误,“类型为'real'和'int'的类型为二进制'operator%'的无效操作数”
这是什么意思?我该如何工作?那么我需要将w和t设为int吗?不可能是因为w是2/3,并且t从0递增0.1。有人可以帮帮我吗?
最佳答案
取而代之的是使用std::fmod
,它以双精度而不是整数%
运算符运算。