Fujiy
Blog
Sendo:
int i1 = valorx;int i2 = valory;
Como trocar os valores das variaveis sem criar outra variavel temporária?
A resposta está nos comentários.
Tags: desafio
Artigos
Posts relacionados
Comentários
1/7/2009 15:10:02 #
int i1 = 5; int i2 = 10; i1 = i1 ^ i2; i2 = i1 ^ i2; i1 = i1 ^ i2; Console.WriteLine("i1 = " + i1); Console.WriteLine("i2 = " + i2);
fujiy | Reply
2/7/2009 8:22:50 #
int i1 = 5; int i2 = 10; i1 = i1 + i2; i2 = i1 - i2; i1 = i1 - i2; Console.WriteLine("i1 = " + i1); Console.WriteLine("i2 = " + i2);
26/8/2009 2:09:47 #
Fala Fujiy blz? Cara tô curtindo pra caramba seu blog, vem cá, como é o funcionamento do operador ^ nessa primeira solução?
Franklin | Reply
26/8/2009 22:07:53 #
^ é o operador XOR(Exclusive OR), no caso: i1 = 101 ^ 1010 //1111 é o XOR dos dois valores i2 = 1111 ^ 1010 //Pegamos o valor acima e fazer um XOR pelo valor de i2, assim temos o valor de i1 de volta(101) i1 = 1111 ^ 101//Aquele mesmo 1111 com XOR pelo antigo valor de i1(agora no i2), resulta no antigo valor de i2
Comentar
Cancel reply to comment
Formado em Ciência da Computação. MCTS/MCPD em .NET
MSN: felipepessoto no hotmail