כאשר R1 ו-R2 הם אוגרים ותוצאת פעולת ה-XOR מועתקת לארגומנט הראשון מבין השניים. אלגוריתם זה מתאים במיוחד לתכנות בשפות מכונה בזכות הביצועים והיעילות שלו. הוא מבטל את הצורך באוגר מתווך, דבר שהוא מצרך יקר בתכנות בשפת מכונה. כמו כן הוא מבטל צורך בשתי גישות לזיכרון אשר יכולות להיות יקרות יחסית לפעולת אוגר.
הסבר.
לדוגמה, נניח שיש לנו שני ערכים - X = 12 ו-Y = 10.
בבינארית זה ייראה כך:
כשנפעיל XOR על שני המשתנים אנו נקבל 0 1 1 0, אותו נעתיק למשתנה X. עתה יש לנו:
כשנפעיל XOR שוב, נקבל 0 0 1 1. נעתיקו למשתנה Y. עתה יש לנו:
לבסוף, נפעיל XOR ונקבל 0 1 0 1 - אותו שוב נשים ב-X. קיבלנו:
כלומר, המשתנים החליפו את הערכים ביניהם, והאלגוריתם עבד במקרה זה.
באופן כללי, נסמן X=x ,Y=y (כלומר ערכים כלשהם), ונבצע את השלבים של האלגוריתם, כאשר נסמן את ה-XOR בסימן ⊕ (סימונו המקובל), ונזכור את הזהויות a ⊕ a = 0 ו-b ⊕ 0 = b (זהויות לוגיות שקל להוכיח) ואת העובדה ש-XOR היא פעולה אסוציאטיבית וקומוטטיבית. אזי -
כלומר, ראינו שגם כללית, האלגוריתם נכון.
דוגמאות קוד.
שפת מכונה של x86.
הקוד הבא הוא בשפת מכונה של x86, אשר משתמש באלגוריתם ההחלפה של XOR כדי להחליף את הערכים של האוגרים AX ו־BX, ללא שימוש באוגר זמני:
XOR AX, BX
XOR BX, AX
XOR AX, BX
למעשה, כל המעבדים השייכים לארכיטקטורה זו כוללים את הפקודה XCHG אשר מבצעת את אותה הפעולה על האופרנדים שלה בצורה יותר אפקטיבית מאשר רצף פעולות ה־XOR הנ״ל.
MIPS architecture.
דוגמה לקוד בארכיטקטורת MIPS אשר מחליפה את הערכים באוגרים a0,a1 בעזרת אלגוריתם הXOR:
xor $a0, $a0, $a1
xor $a1, $a0, $a1
xor $a0, $a0, $a1
Visual Basic.
התת-רוטינה הזו של Visual Basic מחליפה את הערכים של הפרמטרים שלה בעזרת אלגוריתם הXOR:
Sub Swap (Var1, Var2)
Var1 = Var1 Xor Var2
Var2 = Var2 Xor Var1
Var1 = Var1 Xor Var2
End Sub
שפת תכנות C.
קוד של שפת התכנות C אשר מבצעת את האלגוריתם על המשתנים X ו־Y:
x ^= y;
y ^= x;
x ^= y;
ניתן ליישם את האלגוריתם גם כמאקרו לקדם־מעבד (preproccessor):
או כפונקציה:
void xorSwap(int *x, int *y) {
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
הפונקציה לא תעבוד אם שני הפרמטרים יצביעו על אותו הדבר - במקרה זה הערך שיוחזר יהיה 0.
שימוש בפועל.
השימוש באלגוריתם נפוץ מאוד בתכנות בשפות מכונה, היכן ששטח אחסון הוא מצרך יקר ורב חשיבות. כמו כן, אלגוריתם זה חוסך גישות מיותרות לזיכרון, דבר ההופך את הקוד למהיר יותר. כמה מהמהדרים המייעלים יכולים לייצר קוד עם שימוש באלגוריתם זה.
אולם, במעבדים מודרניים (שולחניים), טכניקת ה-XOR דווקא איטית יותר משימוש במשתנה עזר וזאת כיוון שמעבדים מודרניים שואפים לבצע פקודות בצורה מקבילה. בטכניקת ה-XOR, האופרנדים של כל הפקודות תלויות בתוצאות של הפקודה הקודמת, לכן הן חייבות להתבצע בסדר מסוים. אם יעילות היא גורם מכריע, מומלץ לבדוק את המהירות של שתי הטכניקות להחלפת ערכים של שני משתנים.
יעקב חזן
יעקב חזן (4 ביוני 1899 – 22 ביולי 1992) היה פוליטיקאי ישראלי, חבר הכנסת, חבר קיבוץ ומחנך, ממייסדי "השומר הצעיר", ממייסדי מפ"ם ויו"ר שלה, ממייסדי הקיבוץ הארצי, ואחת הדמויות המרכזיות בקיבוץ הארצי בפרט ובציונות הסוציאליסטית בכלל. יש שראו סביבו הילה מיתית כמעט, של 'הכהן הגדול' של הסוציאליזם הציוני, בגרסה המפ"מניקית-מרקסיסטית.
תולדות חייו.
חזן נולד ב-1899 ליהודה חיים חזן, בברסט ליטובסק שבאימפריה הרוסית (כיום בבלארוס). למד בחדר, בתיכון עברי ובפוליטכניון בוורשה. תחילה הצטרף לצופים העבריים והיה מדריך שם אך כשסרב להעניש את החניכים שלו הוסר מהתפקיד. לאחר מכן הצטרף לקן השומר הצעיר בוורשה והיה חבר ההנהגה הראשית של "השומר הצעיר" בפולין וחבר מרכז "החלוץ". במסגרת מלחמת העולם הראשונה בקן וורשה הייתה מחלוקת לגבי הגיוס לצבא, חזן הציע שהבוגרים החייבים גיוס יחולקו לשתי קבוצות – אחת תעלה בחשאי לארץ ישראל והשנייה תתגייס לצבא, חוץ מזה הציע חזן שקומץ קטן של בוגרים יישאר בקן ולא ייתגייס כלל כדי שלא יישאר הקן בלי בוגרים.
אמו של חזן מלכה שידעה על הוויכוחים בקן הפצירה בו לעלות לארץ במהרה. וכשבא להודיע לה שהחליט להתגייס הוא שאל אותה "איך לדעתך היה נוהג במקרה זה אבא?" ואמו ענתה לו: "כמוך".
לאחר מכן חזן התגייס לצבא. אין עדויות לתאריך הגיוס שלו או לזמן השירות שלו וכשנשאל תמיד נקב תאריכים שונים. אך תאריך הגיוס שלו מוערך להיות בחודשים מארס–אפריל 1920.
חזן התגייס לגדוד קשר, הוא מספר שבבדיקות הרפואיות הבודקים התפלאו מהיותו יהודי, בשל מראה הגוף שלו. וכשגילו שהוא חולה במחלה רפואית קשה שתוריד את הפרופיל שלו הוא ביקש מהם להתעלם ממנה כדי שיוכל לשרת בגדוד שדה, הוא מספר איך הם התלחששו ביניהם והביעו התפלאות מהנכונות של יהודי לשרת בצבא ולהשמיט מחלה בכדי שיוכל לשרת בתפקיד משמעותי יותר. עוד חזן מספר שהוא אמר להם שהוא רוצה להיות טייס, אך בגלל היותו יהודי הוא לא הצליח להתקבל לקורס טיס. לפי תיאורים של חזן רוב שירותו נעשה בחזית. גדודו הבקיע מאות קילומטרים אחרי קו האויב ונסוג מאות קילומטרים לתוך שטח פולין. מלבד חזן היה בגדוד רק יהודי אחד אחר. חזן מתאר את זמן שירותו בצבא כזמן קשה ועצוב של אימה וגעגועים הביתה.
לאחר עלייתו ארצה ב-1923, עבד כפועל בפרדסים בחדרה ובייבוש ביצות בעמק בית-שאן. היה ממייסדי קיבוץ משמר העמק וחבר במוסדות המרכזיים של ההסתדרות.
שירת כחבר הכנסת מקום המדינה ועד שנת 1973. לפני הקמת מדינת ישראל ובשנותיה הראשונות הזדהה עם ברית המועצות ועם התנועה הקומוניסטית העולמית בכל, פרט לנושא הציונות, לגביו חשב שהייתה אי-הבנה מצד המפלגה הקומוניסטית. בשנת 1949 הכתיר את ברית המועצות כ"מולדתו השנייה של העם היהודי". עם מותו של סטלין כתב עליו מאמר הספד נרגש ב"על המשמר". עם הודאת המפלגה הקומוניסטית של ברית המועצות בפשעי סטלין נסוג מתמיכתו בו. לימים הודה שבנושא ברית המועצות אמר דברים שלא האמין בהם.
במהלך כל חייו סירב חזן להתמנות לתפקיד שר, מתוך תפיסה שעל השר להתעסק יומם וליל בענייניו המינסטריאליים תוך זניחת עיסוקיו האחרים – אידאולוגיים, תנועתיים, פרלמנטריים וחינוכיים, שבהם העדיף להתעסק. על כן העדיף לקדם אנשים צעירים (בהם ויקטור שם-טוב) לתפקידי שרים. חזן היה מועמד במקום ה-120 הסמלי ברשימת מרצ בבחירות לכנסת ה-13 (1992).
יש הרואים במאיר יערי וביעקב חזן מודל ייחודי בהיסטוריה הפוליטית של הציונות: מודל של שני מנהיגים, כל אחד מהם בעל עוצמה רבה, שלא פנו זה נגד זה ואשר היוו יחדיו את ההנהגה הדו-ראשית של הקיבוץ הארצי ושל מפלגת הפועלים המאוחדת, ו'פוסקי הדור' של תנועת השומר הצעיר בכל הנוגע לציונות הסוציאליסטית ולתנועה הקיבוצית. למרות מתיחויות מבית שידעו ככל הפוליטיקאים, הצליחו לשמור על יחסים טובים, שיתוף פעולה פורה והובילו את מפ"ם להישג אלקטורלי שלא חזר על עצמו מאז – 19 מנדטים, בבחירות לכנסת הראשונה ב-1949.
על-אף שהיה ממנהיגי השומר הצעיר, הידועים בחילוניותם, טרח הוא לנסות ולהדגיש את ההכרח שבחיבור ליהדות בכדי לקיים תנועה מהפכנית באמת. בולט העניין בדבריו בנאום במרחביה: "עשינו מעשה קליטה נפלא. אבל מבחינה רוחנית-איידאית – נכשלנו. קרה דבר יותר חמור: העלייה הזאת הביאה עמה ארצה אוצרות תרבות, מסורת, ומסכת רבת ערך של חיים חברתיים ומשפחתיים. כל זה נהרס בארץ בסערה. הכל: רקמת החיים המשפחתיים, תפיסותיהם על מהות החיים החברתיים והמסורת התרבותית רבת הדורות. ומה הצענו להם במקום רקמת חייהם? את התרבות הקלוקלת של הרחוב, ואת ספיחי התרבות המנוונת, הרעשנית, של המערב, טעינו. רצינו לגדל דור של אפיקורסים, ויצא לנו דור של עמי ארצות, דור שאינו יודע לשאול".
לאחר מלחמת ששת הימים תמך בהתיישבות בבקעת הירדן, רצועת עזה וסביבות ירושלים, וכן בהתיישבות היהודית ברמת הגולן.
באחרית ימיו דיבר באהדה על תנועת גוש אמונים והצהיר כי אנשיה הם ממשיכי דרכה של תנועת השומר הצעיר.
ב-1989 הוענק לחזן פרס ישראל על מפעל חיים.
על שמו מרכז לצדק חברתי במכון ון-ליר בירושלים, בית ספר דמוקרטי בכפר סבא ורחוב בחיפה. בתו, ד"ר יהודית אכמון היא פסיכולוגית קלינית. ביתה הבכורה, אמירה שלח, אף היא פסיכולוגית קלינית. בנה השני גדעון שלח הוא פרופסור לארכאולוגיה המתמחה בסין ועובד כחוקר ומרצה באוניברסיטה העברית. ביתה הצעירה, יעל אכמון היא מתרגמת.
בנוסף על שמו: בסמוך לפטירתו בשנת 1992, הוקם גרעין נח"ל של בוגרי נוער מפ"מ. לאחר פטירתו גרעין הנח"ל אימץ את שמו ונקרא גרעין "חזן" על שם יעקב חזן.
ב-2022 יצא לאור הספר "הספר האדום" שכתב אסף ענברי. הספר מתמקד, באופן ספרותי, באישיותם ובהתפתחותם הרעיונית של יצחק טבנקין, מאיר יערי, יעקב חזן ומשה סנה, מנהיגי השמאל במדינת ישראל בעשורים הראשונים לתקומתה.
ויקטור שם-טוב
ויקטור שם-טוב (1 בפברואר 1915 – 8 במרץ 2014) היה פוליטיקאי ישראלי, כיהן כחבר הכנסת ושר בממשלות ישראל.
ביוגרפיה.
נולד בסמוקוב שבבולגריה לרחמים ולינדה קויומדז'יסקי.
בילדותו התחנך בבית הספר העברי בסופיה ולמד את התרבות והמורשת היהודית ואת השפה העברית. הוא המשיך את לימודיו בגימנסיה בולגרית ובנעוריו הצטרף לתנועת הנוער "מכבי הצעיר".
שם-טוב וחבריו בתנועת הנוער נטשו בהפגנתיות את הגימנסיה בשנת הלימודים האחרונה, והצטרפו
להכשרה בחווה חקלאית, כדי להתכונן לעלייה ולהתיישבות בארץ ישראל.
שם-טוב עלה לארץ ישראל במרץ 1939.
עם הגעתו לארץ החל לסייע בקליטת עולי בולגריה, ראשית בירושלים ומאוחר יותר ביפו.