Обложка канала

๖ۣۜХауди Хо™

десь публикуются интересные заметки, мысли, юмор, книги, эксперименты и многое другое из типичной "программистской" жизни 😏

๖ۣۜХауди Хо™

6 лет назад
Открыть в
🎩 Цыганские фокусы программистов, выпуск второй.

Что вы делаете, чтобы произвести обмен значений переменных?
Обычно для этого создают временную третью переменную.
Но есть способ интереснее.

И это, - использование побитового исключающего ИЛИ (XOR).
Допустим, x = 5; y = 10;.
Для обмена значений мы напишем следующий цыганский фокус:
x = x ^ y;
y = x ^ y;
x = x ^ y;

И готово!
Теперь x содержит значение y, а y содержит значение x.
В общем если хотите понтонуться в коде, - юзайте такие финты 🔥