Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > xor


Автор: Shit_happenes 5.12.2007, 21:47
как на c# выполнить операцию xor над двумя числами типа Int32?
и как при помощи этой операции поменять значениями две переменные, не прибегая к использованию третьей?

Автор: Dino99rus 5.12.2007, 22:08
Код

int ch1=2, ch2=3;
ch2 = ch2 ^ ch1;
//или так
ch2^=ch1;

вот так

Автор: Shit_happenes 5.12.2007, 22:17
А как значениями поменять ch1 и ch2?

Автор: Dino99rus 5.12.2007, 22:48
Цитата(Shit_happenes @  5.12.2007,  22:17 Найти цитируемый пост)
А как значениями поменять ch1 и ch2? 

Поясни....
Я не понял? как поменять значение переменой ch1.....
после ch1= пеши любое число и все. Или я не догнал.

Автор: tol05 5.12.2007, 22:57
Dino99rus, попытался попробовать твой совет 
Цитата(Dino99rus @  5.12.2007,  21:48 Найти цитируемый пост)
пеши любое число и все


Код

int ch1 = 7, ch2 = 3;
ch2 = ch2 ^ ch1;

получается 
ch1 = 7
ch2 = 4

smile 

пришлось написать
Код

int ch1 = 7, ch2 = 3;
ch1 ^= ch2;
ch2 ^= ch1;
ch1 ^= ch2;

Автор: Dino99rus 5.12.2007, 23:05
tol05
так я не понял вопросаsmile .... smile 

Автор: tol05 5.12.2007, 23:10
Цитата(Dino99rus @ 5.12.2007,  21:08)
Код

int ch1=2, ch2=3;
ch2 = ch2 ^ ch1;
//или так
ch2^=ch1;

вот так

Я просто хотел сказать, что твой алгоритм недостаточен. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)