Fujiy
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
Powered by BlogEngine.NET 1.6.0.0 Theme by Mads Kristensen
Estudante de Ciência da Computação. MCTS/MCPD em .Net Windows Developer