ขั้นตอนวิธีสลับด้วยออร์เฉพาะ

ในการเขียนโปรแกรมคอมพิวเตอร์ การสลับด้วยออร์เฉพาะ เป็นขั้นตอนวิธีที่ใช้การดำเนินการบิตออร์เฉพาะในการสลับข้อมูลของตัวแปรสองตัวที่แตกต่างกัน มีชนิดข้อมูลเหมือนกัน โดยไม่ใช้ตัวแปรชั่วคราวช่วยในการสลับ ("แตกต่างกัน" ในที่นี้หมายถึงตัวแปรเป็นคนละตัวกัน กล่าวคือมีที่อยู่หน่วยความจำแตกต่างกัน แต่ค่าของตัวแปรทั้งสองอาจเท่ากันก็ได้)

 ขั้นตอนวิธี 
การสลับข้อมูลโดยทั่วไปจะใช้ตัวแปรชั่วคราวช่วยในการสลับดังนี้
tmp := X
X := Y
Y := tmp
อย่างไรก็ตาม หากใช้การสลับด้วยออร์เฉพาะจะไม่ต้องใช้ตัวแปรชั่วคราวช่วยเลย ขั้นตอนวิธีเป็นไปดังนี้
X := X XOR Y
Y := X XOR Y
X := X XOR Y

 การพิสูจน์ความถูกต้อง 

 เหตุผลในการใช้งานจริง 

 เหตุผลที่ควรหลีกเลี่ยงในการใช้งานจริง 

 รูปแบบอื่นที่ใกล้เคียงกัน 
X := X + Y;
Y := X - Y;
X := X - Y;

หมวดหมู่:ขั้นตอนวิธี
หมวดหมู่:เลขคณิตฐานสอง