Re[5]: поменять местами A и B
От: Кодт Россия  
Дата: 15.10.04 10:52
Оценка:
Здравствуйте, tasman, Вы писали:

T> Вариант с xor не будет работать если (A==B) и (A!=0) Тогда после выполнения и в A и в B будут нули


Откуда такая уверенность?
a=b=x;
a^=b; // a=x^x=0
b^=a; // b=x^0=x
a^=b; // a=0^x=x


Этот алгоритм основан на свойствах любой коммутативной группы, и нулевые элементы здесь не причём.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.