Что является самым быстрым способом умножения двух двойных чисел с меньшей точностью (например, Int precision)? Будет ли это быстрее, когда я буду использовать:быстрое двойное умножение с целочисленной точностью
double a = 2.2;
double b = 3.2;
int c = int(a)*int(b);
или есть более быстрый способ?
Редактировать: Швы, такие как преобразование в целую точность, были плохими идеями. Я попытаюсь объяснить свою проблему лучше:
У меня есть набор двойных данных, и мне нужно извлечь некоторые свойства из него, что в основном связано с большим умножением. Теперь я пытаюсь уменьшить время вычисления, уменьшая точность вычисления. Возможно, это будет:
double a = 2.2;
double b = 3.2;
float c = float(a)*float(b);
работать лучше, чем целочисленное преобразование?
Я думаю, что это может дать вам два разных ответа. 'int (a * b)' сначала даст вам 7.04, а затем усекает до 7. 'int (a) * int (b)' будет '2 * 3' или 6. Какой ответ вы хотите? –
Разница между ответами для меня не имеет значения. Меня интересует только быстрое умножение. – BlueSun
Эта операция вряд ли будет вашим узким местом. – Richard