ในการเขียนโปรแกรมคอมพิวเตอร์และวิทยาการคอมพิวเตอร์การสลับมาตรฐานคือสถานการณ์ในโปรแกรมที่ตัวแปรสองตัวจำเป็นต้องมีการแลกเปลี่ยนค่าของพวกเขาจำเป็นต้องมีการสร้างตัวแปรที่สามเพื่อทำหน้าที่เป็นตัวกลางเมื่อค่าถูกถ่ายโอน การสลับมาตรฐานคือกระบวนทัศน์การเขียนโปรแกรมซึ่งหมายความว่าสามารถใช้กับสถานการณ์ใด ๆ ที่ต้องแลกเปลี่ยนข้อมูลสองชิ้นและไม่เชื่อมโยงกับชนิดข้อมูลหรือภาษาการเขียนโปรแกรมใด ๆ มีหลายกรณีในโปรแกรมที่จำเป็นต้องสลับค่า แต่มักจะเป็นองค์ประกอบมาตรฐานในคอลเลกชันและอาร์เรย์เมื่อใช้กับอัลกอริทึมการเรียงลำดับที่ต้องย้ายรายการจากดัชนีหนึ่งในคอลเลกชันไปยังอีกใช้ตัวแปรชั่วคราวเพื่อเก็บ ค่าที่ถูกแลกเปลี่ยน จากมุมมองของฮาร์ดแวร์การสลับมาตรฐานสามารถรองรับฟังก์ชั่นตัวประมวลผลระดับต่ำสำหรับสเกลาร์ข้อมูลบางชนิดเช่นจำนวนเต็มหมายความว่าค่าตัวกลางไม่จำเป็นต้องสร้างในหน่วยความจำเข้าถึงโดยสุ่ม (RAM) เพื่อสลับสองตัวเลข
แนวคิดของการสลับมาตรฐานสามารถเห็นได้ด้วยตัวแปร A และ B ในตอนท้ายของการแลกเปลี่ยนแบบมาตรฐาน B ควรเท่ากับ A และ A ควรเท่ากับ B หากโปรแกรมเพียงมอบหมายให้ B ถึง A ค่าของ A จะหายไปและไม่สามารถกำหนดให้กับ B ในภายหลังได้ต้องใช้ a ตัวแปรชั่วคราวที่จะเก็บค่าของ A ในขณะที่ B ถูกกำหนดให้กับ A ขั้นตอนสุดท้ายคือการกำหนดค่าตัวแปรชั่วคราวให้กับ B เพื่อทำการสลับให้เสร็จสิ้น
แอปพลิเคชันที่พบบ่อยมากอย่างหนึ่งสำหรับการแลกเปลี่ยนมาตรฐานคือเมื่อใช้อัลกอริทึมการเรียงลำดับในอาร์เรย์หรือคอลเลกชัน หากอัลกอริทึมการเรียงลำดับได้พิจารณาแล้วว่าข้อมูลที่อาร์เรย์ดัชนี 1 จะต้องสลับกับข้อมูลที่ดัชนี 10 ดังนั้นการสลับมาตรฐานของข้อมูลสามารถทำได้ สิ่งนี้สามารถทำได้อย่างรวดเร็วเป็นพิเศษโดยใช้การอ้างอิงตัวชี้ในภาษาเช่น C
ภาวะแทรกซ้อนสามารถเกิดขึ้นได้ในภาษาการเขียนโปรแกรมเชิงวัตถุบางตัวเมื่อต้องสลับวัตถุสองอินสแตนซ์ ในบางกรณีที่หายากมากการสลับการอ้างอิงวัตถุจะไม่เริ่มต้นการแลกเปลี่ยนจริง แต่วิธีเดียวที่จะแลกเปลี่ยนวัตถุคือการโคลนข้อมูลภายในเขตข้อมูลจากเขตข้อมูลระหว่างวัตถุทั้งสองและตัวแปรวัตถุชั่วคราว
มีเทคนิคหนึ่งที่สามารถใช้เทคนิคเพื่อทำการสลับมาตรฐานโดยใช้ตัวดำเนินการทางตรรกะแบบเอกสิทธิ์เฉพาะบุคคลหรือ (XOR) การแลกเปลี่ยน XOR ขึ้นอยู่กับความจริงที่ว่าเมื่อคำนวณสองบิตด้วย XOR พวกเขาจะสร้างหน้ากากที่สามารถย้อนกลับได้ด้วยตัวดำเนินการหนึ่งหรือทั้งสอง ด้วยวิธีนี้ตัวแปรสองตัวคือ A และ B สามารถสลับได้โดยการสร้างมาสก์ที่มี XOR ของตัวแปรสองตัวจากนั้นใช้ XOR เพื่อเปิดโปงค่าแรกสำหรับ B จากนั้นค่าสำหรับ A. น่าเสียดายแม้ว่าวิธีนี้จะหลีกเลี่ยง การสร้างตัวแปรชั่วคราวมันจะไม่ทำการสลับในทุกกรณีโดยเฉพาะเมื่อ A และ B มีค่าเท่ากันและในกรณีที่การเพิ่มประสิทธิภาพของคอมไพเลอร์อาจเปลี่ยนการดำเนินงานจริง


