Re[3]: эффективность
От: Кодт Россия  
Дата: 18.11.03 09:36
Оценка: 38 (3) +1
Здравствуйте, kepo4ka, Вы писали:

K>Здравствуйте, Кодт, вы тут много всего написали:


K>Насколько я понимаю применять такой алгоритм в принципе не стоит. Равно как и оценивать его эффективность.

K>Если переменная a и b, не целочисленные. И a намного больше b => a-=b даст нам a. И весь алгоритм посыпался.

Потому что плавающие числа конечной разрядности не образуют группу ни по сложению, ни по умножению.
А фиксированные — образуют группу (целые — образуют даже кольцо — вычетов по модулю 2^n).

А еще они образуют группу по битовому сложению (xor). Отсюда — такая формула
a = a (-) b;
b = a (+) b;
a = a (-) b;

где (+), (-) это операция над группой и ее противоположность.
Общедоступны 3 варианта: +|-, -|+ (sic! обратите внимание на расположение операндов -- здесь нет коммутативности) и ^|^.

Абстрактная алгебра рулит!
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.