Suma y resta de plástico
1. Suma y resta
Por ejemplo
a=a b
b=a-b
a=. a-b
Por supuesto, este enfoque no es muy bueno ya que puede resultar en una pérdida de precisión. . . .
Por ejemplo, a = 3,123456 b = 14567,000.
Después del intercambio, el valor de la variable se convierte en:
a = 1234567.000000 b = 3.125000
Por lo tanto, funciona para intercambiar variables con valores enteros y de punto flotante.
2. Multiplicación y división
a = a * b; b = a/b; a = a/b
La multiplicación y la división son más parecidas. suma El mapeo de la resta a la multiplicación y división es similar a la suma y la resta: puede manejar variables enteras y de punto flotante, pero también existe el problema de la pérdida de precisión cuando se trata de variables de punto flotante. Pero la multiplicación y la división requieren un poco más: b no puede ser 0.
Como se puede ver en lo anterior, la suma, resta, multiplicación y división pueden desbordarse, y el desbordamiento de la multiplicación y división será particularmente grave. De hecho, ambos métodos no se desbordarán. Tomemos como ejemplo la suma y la resta. La operación de suma en el primer paso puede causar un desbordamiento, pero el desbordamiento resultante se reflejará en la operación de resta posterior.
3. Método XOR
a ^= b; b ^= a; a ^= b; Intercambio de variables de punto flotante.
Entonces estos tres métodos tienen sus propios usos y debes elegir según tu propia situación. . . . .