我需要将循环中的整数与 long
和 long
的商进行比较。为了不做整数除法,如果我理解正确,我需要将其中一个 long 转换为 double 吗?
long prime = primes[d];
int i = 1;
// "inputNumber / prime" should not be integer division, while it is now.
// How do I do this yet still compare it to an "int" afterwards?
while (i < (inputNumber / prime))
{
primes[i*prime] = 0;
i++;
}
这是代码片段。 primes
是一个由 long
填充的数组。顺便说一句,这段代码是否正确:
primes[i*prime] = 0;
因为我担心 long * int
不能用于数组索引。
非常感谢!
最佳答案
为什么不 while((i * prime) < inputNumber)
反而? long
乘以 int
结果 long
...
关于c - 整数除法与常规除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277986/