Цитата(777777 @ Sep 21 2008, 23:32)

Я думаю, компилятор и сам догадается это сделать.
А откуда у компилятора такая догадливость? Любая программа ничуть не умнее программиста ее написавшего.

И тот же компилятор это тоже программа.
Для примера вот в такой программке для вычисления значения
y затрачивается в 1,5-2 раза
меньше тактов, чем для вычисления
x. Хотя на первый взгляд операций во втором выражении
больше. При этом всякие аппаратные умножители конечно же отключены, иначе выигрыш получается еще больше

Код
unsigned int x, y;
unsigned long z=65489;
x=z/10;
y=(z*0xCCCD)>>19;
Сообщение отредактировал rezident - Sep 22 2008, 07:27