ошибка C2679: двоичный файл'>>': никакой оператор не нашел, который берет правый операнд типа 'станд.:: представьте в виде строки' (или нет никакого приемлемого преобразования),

Умножение быстрее, подразделение более точно. Вы потеряете некоторую точность, если Ваше число не будет питанием 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, и даже тогда, только если операция находится в цикле в узком месте.

31
задан tmlen 29 August 2018 в 08:53
поделиться