XORを使用して変数を入れ替える方法


方法1: テンポラリ変数を使用する方法

def swap_variables(a, b):
    temp = a
    a = a ^ b
    b = temp ^ b
    a = a ^ b
    return a, b
x = 10
y = 20
x, y = swap_variables(x, y)
print("x =", x)  # 出力: x = 20
print("y =", y)  # 出力: y = 10

方法2: 加算と減算を使用する方法

def swap_variables(a, b):
    a = a + b
    b = a - b
    a = a - b
    return a, b
x = 10
y = 20
x, y = swap_variables(x, y)
print("x =", x)  # 出力: x = 20
print("y =", y)  # 出力: y = 10

方法3: XORを使ったバイナリ操作

def swap_variables(a, b):
    a = a ^ b
    b = a ^ b
    a = a ^ b
    return a, b
x = 10
y = 20
x, y = swap_variables(x, y)
print("x =", x)  # 出力: x = 20
print("y =", y)  # 出力: y = 10

これらの方法は、XOR演算子を使用して変数を入れ替えるための一般的な手法です。どの方法を選択するかは、プログラムの読みやすさやパフォーマンスの要件によって異なります。XORを使用した変数の入れ替えは、一時変数を使わずに行うことができるため、コードをシンプルに保つことができます。是非、これらの方法を実際のプログラムで試してみてください。