Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что делает код? int a = A, b = B; a ^= b ^= a ^= b;

Ып Мастер (1719), закрыт 10 часов назад
Лучший ответ
Андрей Высший разум (477790) 13 часов назад
a ^= b ^= a ^= b; - это просто краткая запись конструкции:
 a = a ^ b;
b = a ^ b;
a = a ^ b;
Происходит обмен значений переменных a и b без использования дополнительной переменной.
Остальные ответы
nikola Знаток (251) 14 часов назад
это какой-то странный код который меняет значения a и b без временной переменной
ЫпМастер (1719) 14 часов назад
задачка с собеседования
нужно объяснить, как это работает
Папа Высший разум (150918) Ып, тебе и объяснили: меняет значения переменных. Или тебе надо вываливать сюда всю матчасть о побитовых операциях? Открывай книгу и читай.
Moon Late Мастер (2293) 14 часов назад
^ операция побитового логического ИЛИ.
ЫпМастер (1719) 14 часов назад
да,
но это ещё не ответ на вопрос
Moon Late Мастер (2293) Ып, Если подумаете, то сами ответите на этот вопрос. Не получается в уме - попробуйте на бумажке в столбик провести побитовые ИЛИ с числами 0101 -- а (исходное) 1001 -- b (исходное) 1100 -- a = a^b 1100 -- a 1001 -- b 0101 -- b = a^b 0101 -- b (стало) 1100 -- a 1001 -- a = a^b (стало)
ЫпМастер (1719) 12 часов назад
откуда 0101 и 1001 ?
они были в условии задачи?
Moon Late Мастер (2293) Ып, от верблюда. Мозгами думать нада. Если нет мозгов - займись чем-нить попроще.
Похожие вопросы