Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, 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
К>
К>Этот алгоритм основан на свойствах любой коммутативной группы, и нулевые элементы здесь не причём.
Воббще xor дает ответ на вопрос "разные ли биты?" в виде бита 1 или 0. С таким же успехом можно использовать ответ на вопрос "одинаковые ли биты?". Напр. в виде логического NOT (инвертирование) на результат XOR.