Задать вопрос

Почему умножение работает быстрее деления?

Слышал, что операция умножения работает быстрее операции деления, поэтому лучше умножать на 0.5, чем делить на 2.
Хочу узнать для всех ли языков программирования это справедливо и почему так происходит.
Спасибо.
  • Вопрос задан
  • 10909 просмотров
Подписаться 5 Оценить Комментировать
Ответ пользователя sitev_ru К ответам на вопрос (8)
@sitev_ru
sitev.ru - мой блог ...
Вовсе не обязательно... Вот добился, что умножение работает медленнее, чем деление:

rextester.com/NMZ47337

#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
    cout << "Test mul" << endl;
    int tick1 = GetTickCount();
    
    double a = 1000000000000;
    for (int i = 0; i < 1000000; i++) {
        a *= 0.99;
    }
    
    int tick2 = GetTickCount();
    
    cout << "time = " << tick2 - tick1 << endl;
    cout << a << endl;

    cout << "Test div" << endl;
    tick1 = GetTickCount();
    
    a = 1000000000000;
    for (int i = 0; i < 1000000; i++) {
        a /= 1.0001;
    }
    
    tick2 = GetTickCount();
    
    cout << "time = " << tick2 - tick1 << endl;
    cout << a << endl;
}


Вот такие цифры у меня получились:

Test mul
time = 47
2.42092e-322
Test div
time = 16
3.73872e-32


Умножение медления в три раза)
Ответ написан