באלגברה בוליאנית, או בררני או או מוציא (eXclusive OR, XOR) היא פעולה שמקבלת שני אופרנדים, כלומר ערכי קלט, ומחזירה אמת כאשר שני האופרנדים שונים.
XOR משקפת את ההבנה היומיומית של המילה "או" כשהכוונה היא אחד מהשניים בלבד. למשל, באולטימטום "היכנע או שתושמד" הכוונה היא שאפשרי רק אחד מהתרחישים.
בעבור שני קלטים, התוצאה היא: אם שניהם שקר️, שקר; אם אחד נכון והשני שקר, נכון; אם שניהם נכון, שקר. במילים פשוטות: בדיוק אחד מהם צריך להיות נכון.
כשמפעילים XOR על יותר משני אופרנדים, מחשבים אותו זוג־זוג. אפשר גם לומר שהתוצאה תהיה אמת אם יש מספר אי־זוגי של אופרנדים שהם אמת. XOR היא פעולה חילופית (הסדר אינו משנה) ואסוציאטיבית (ניתן לקבץ בלי לשנות את התוצאה).
מסתמנים בכתיבה כ־"XOR", לפעמים כסימן פלוס או כסימן פלוס בעיגול (נכתב ⊕). יש התאמה לחיבור מודולו 2, כשאמת=1 ושקר=0. בשפות תכנות כמו C משתמשים בסימן הגג ^. מופיעים גם סימונים טקסטואליים כמו EOR או ORR.
XOR הוא בלוק בסיסי בחישובי חיבור במחשבים, ולכן חשוב גם בחישובי חיסור בשיטת המשלים ל־2. אם מפעילים XOR על ערך עם עצמו, מתקבלת תמיד 0, וכשלעיתים מהיר יותר לנקות אוגר כך במקום לכתוב 0 לשם שמירה.
XOR משמש כפונקציית ערבול בהצפנה. שיטת הפנקס החד־פעמי מבוססת על XOR והוכחה כלא ניתנת לפיצוח מתמטית. בשערים לוגיים, XOR עם כניסה אחת שמוחזקת ב־1 מפעיל למעשה היפוך (הופך) על הכניסה השנייה.
בנוסף, בטכניקות תכנות אפשר להשתמש ב־XOR כדי להחליף בין שני משתנים של ביטים בלי שטח אחסון נוסף, על ידי ביצוע שלוש פעולות XOR.
או בררני, שנקרא גם XOR, אומר "או אחד בלבד". אופרנדים אלה הקלטים של הפעולה.
אם רק אחד מהקלטים נכון, התוצאה נכונה. אם שניהם נכונים או שניהם לא נכונים, התוצאה שקר.
כשיש יותר משני קלטים, התוצאה נכונה אם מספר הקלטים שנכונים הוא אי־זוגי. כלומר: 1 או 3 או 5 וכו'.
מסתמנים כ־XOR. במחשבים לרוב כותבים ^. לפעמים כותבים פלוס בעיגול.
מחשבים משתמשים ב־XOR בעבודה עם מספרים ובחישובים. אם עושים XOR על מספר עם עצמו, מקבלים תמיד אפס.
XOR עוזר גם בהצפנה. יש שיטה בשם פנקס חד־פעמי שמבוססת עליו ונחשבת בטוחה.
תגובות גולשים