我发现有两种方法可以从c++的除法运算中获得整数

问题是哪种方法更有效(更快)

第一种方式:

Quotient = value1 / value2;  // normal division haveing splitted number

floor(Quotient);             // rounding the number down to the first integer

第二种方式:
Rest = value1 % value2;             // getting the Rest with modulus % operator

Quotient = (value1-Rest) / value2;  // substracting the Rest so the division will match

还请演示如何找出哪种方法更快

最佳答案

如果要处理整数,则通常的方法是

Quotient = value1 / value2;

而已。结果已经是整数。无需使用floor(Quotient);语句。无论如何,它没有任何作用。如果需要,您可能想使用Quotient = floor(Quotient);

如果您有浮点数,那么第二种方法将根本不起作用,因为%仅为整数定义。但是从实数除法得到整数意味着什么?用8.5除以3.2会得到什么整数?问这个问题有意义吗?

附带说明一下,您称为“休息”的事物通常称为“提醒” .remainder。

关于c++ - 有效划分休息的有效方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6799102/

10-11 02:16