Умножение быстрее, подразделение более точно. Вы потеряете некоторую точность, если Ваше число не будет питанием 2:
y = x / 3.0;
y = x * 0.333333; // how many 3's should there be, and how will the compiler round?
, Даже если Вы позволяете компилятору выяснить инвертированную константу к идеальной точности, ответ может все еще отличаться.
x = 100.0;
x / 3.0 == x * (1.0/3.0) // is false in the test I just performed
проблема скорости, вероятно, будет, только иметь значение в C/C++ или языках JIT, и даже тогда, только если операция находится в цикле в узком месте.
Включили ли вы все следующие заголовки?
Думаю, вы забыли
.
Примечание: это должно быть std :: cout
и std :: endl
.