Умножение обратного лучше или хуже? - PullRequest
11 голосов
/ 17 марта 2009

При работе с double типы данных умножаются на обратное лучше или хуже?

Каким образом быстрее ? Какой способ использует меньше памяти? Какой способ предпочтительнее?

Как MSIL справляется с этим?

SquareInches = MMSquared / 645.16 
SquareInches = MMSquared * 0.0015500031000062000124000248000496

Примечание: 10K пользователи заметят, что это дубликат этого вопроса , который был удален, потому что оригинал задающий вопрос решил ругать все в разделе «комментарии» вопрос.

Этот вопрос был повторно размещен, потому что это «хороший» вопрос.

Пожалуйста, снимите флажок вики-сообщества для вашего ответа, так как я только публикую его как CW, чтобы он не воспринимался как захват репутации.

Вопрос по теме:

Должен ли я использовать умножение или деление?

Ответы [ 11 ]

0 голосов
/ 17 марта 2009

Если вы делите на буквальное значение, такое как 645.16, то очень вероятно, что нет никакой разницы, потому что компилятор может легко определить, какая версия быстрее, и использовать ее.
Если вы делите или умножаете на переменную, то, скорее всего, умножение будет немного быстрее, потому что логика, как правило, более простая.
Как и во всем, безусловно, используйте профилировщик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...