|
В общемм случае результат будет НЕКОРРЕКТНЫЙ. Например, деление -2 на 4 даст в результате -1, а не 0, что должно быть на самом деле.
AVR GCC делает подобную оптимизацию, но сначала производится проверка знака. Если число отрицательное, для производится его предварительная коорекция с тем чтобы конечный результат был верным. По-моему, там вычитается половина исходного числа, но за точность не ручаюсь.
Возможно, кто-то пользуется данным компилятором и подскажет правильный алшоритм.
E-mail: info@telesys.ru