Jason NovingerM to [email protected] • edit-22 years ago[Meme] Swapping integers in Pythonimagemessage-square17fedilinkarrow-up167arrow-down17file-textcross-posted to: [email protected][email protected]
arrow-up160arrow-down1image[Meme] Swapping integers in PythonJason NovingerM to [email protected] • edit-22 years agomessage-square17fedilinkfile-textcross-posted to: [email protected][email protected]
minus-square@[email protected]linkfedilink5•edit-22 years agoxor has the property x ^ x = 0, and x ^ 0 = x. So, x ^ x ^ y = y a' = a ^ b b' = b ^ a' = b ^ (a ^ b) = a a'' = (a ^ b) ^ a = b This is pretty clever, I’ve never seen this for a swap.
minus-squareActuallyRubenlinkfedilink2•2 years agoCouldn’t have explained it better myself. I don’t remember where exactly I first read about this trick, but it’s mainly useful in C or Assembly, as you don’t have to resort to using a third variable/register.
I’m gonna need you to elaborate on this one
xor has the property x ^ x = 0, and x ^ 0 = x. So, x ^ x ^ y = y
This is pretty clever, I’ve never seen this for a swap.
Couldn’t have explained it better myself. I don’t remember where exactly I first read about this trick, but it’s mainly useful in C or Assembly, as you don’t have to resort to using a third variable/register.