swap( by ref x , by ref y )

Vissa dagar för jag mänskligheten frammåt, något enormt!

swap ( by ref x , by ref y ) {
  x = x xor y;
  y = x xor y;
  x = x xor y;
}

Creative Commons-licens Detta verk är licensierat under en Creative Commons Attribution-ShareAlike 3.0 Unported Licens.

Exempel: x = 5, y = 8, x = 5 xor 8 = 13, y = 13 xor 8 = 5, x = 13 xor 5 = 8

Ekvationen härledde jag så här:

  • a1 = a0 xor b0
  • b1 = b0 xor a1 = b0 xor a0 xor b0 = a0
  • a2 = a1 xor b1 = a0 xor b0 xor a0 = b0
Annonser

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s