משלים ל-2
שיטת המשלים ל-2 היא שיטה לייצוג מספרים עם סימן בבסיס בינארי. בשיטה זאת הסיבית השמאלית ביותר (MSB - Most Significant Bit) מייצגת את הסימן של המספר (חיובי או שלילי) ושאר הספרות מייצגות את המספר. שיטה זו מקובלת במחשבים לייצוג של ערכים בינאריים שליליים כיוון שקל יחסית לחשב את ערך המספר וכן לבצע עליו פעולות בסיסיות.
תוכן עניינים |
[עריכה] ייצוג
על מנת לייצג מספר בן n סיביות בשיטת המשלים ל-2 יש להפריד את הסיבית השמאלית ביותר משאר המספר.
מספרים חיוביים מיוצגים על ידי n-1 הספרות הימניות של המספר בייצוג בינארי רגיל, הסיבית השמאלית ביותר היא 0 ומשמעותה שהמספר חיובי. ניתן לייצג רק מחצית מכמות המספרים החיוביים האפשריים ביצוג ללא סימן. בהתאם, במספרים שליליים הסיבית השמאלית ביותר היא 1 ומציינת שהמספר הוא שלילי.
| מספר בינארי | יצוג עשרוני כאשר המספר הוא ללא סימן | יצוג עשרוני בשיטת המשלים ל-2 |
|---|---|---|
| 0101 | 5 | 5 |
| 0100 | 4 | 4 |
| 0011 | 3 | 3 |
| 0010 | 2 | 2 |
| 0001 | 1 | 1 |
| 0000 | 0 | 0 |
| 1111 | 15 | 1- |
| 1110 | 14 | 2- |
| 1101 | 13 | 3- |
| 1100 | 12 | 4- |
[עריכה] חישובים
על מנת להמיר מספר שלילי למספר המיוצג בשיטת המשלים ל-2 יש להמיר את המספר הנגדי לו למספר בינארי, להפוך את כל הסיביות (1 ל-0 ו-0 ל-1) ולהוסיף 1.
נמיר לדוגמה את המספר 17-
צעד ראשון: נמיר את המספר הנגדי למספר ביצוג בינארי (17 = 0001 0001)
צעד שני: נהפוך את כל הסיביות (1110 1110)
צעד שלישי: נוסיף 1 (1111 1110 = 17-)
[עריכה] חיבור
חיבור בשיטה זו מתבצע באותו אופן כמו חיבור בינארי רגיל.
לדוגמה: 2 = (3-) + 5
| 0000 0101 | = | 5+ |
| 1111 1101 + | = | 3- |
| 0000 0010 | = | 2+ |
[עריכה] חיסור
על מנת לבצע חיסור, נבצע חיבור של המספר המחוסר עם המספר המחסר כאשר שניהם מיוצגים בשיטת המשלים ל-2 (חיבור מספר שלילי זהה לחיסור מספר חיובי)
לדוגמה: (5-) = 12 - 7
| 0000 0111 | = | 7+ |
| 1111 0100 + | = | 12- |
| 1111 1011 | = | 5- |
[עריכה] למה זה עובד?
ראשית כל, חשוב להבין שהמשמעות של השלמה ל- 2 היא שכל הספרות הרגילות עד לספרה השמאלית ביותר הינן מוכפלות ב- 2 בחזקת מיקומן, מלבד לספרה השמאלית ביותר שמוכפלת במינוס 2 בחזקת מיקומה, למשל בייצוג השלמה ל-2:
והרי כזכור 23 בבסיס בינארי הוא 010111:
אכן ניתן לראות שאם נהפוך את כל הספרות, ונוסיף אחד, נקבל את המוצג לעיל.
כעת, דרך אחת להסתכל על הסיבה לכך שהיפוך הספרות (השלמה ל-1 או יותר נכון Ones' Complement) ולאחר מכן הוספת 1 מייצר את ההשלמה ל- 2 של המספר שאיתו מתחילים, נובעת מהביטוי הבא:
במקרה שלקחנו למעלה, עבור 23, n=5. כעת ניתן לייצג את 23 בשתי דרכים:
שימו לב שיש כאן ייצוג בשתי דרכים שונות ל- 23 וכמו כן, אם נשים מינוס לפני כל אחד מהאגפים נקבל 23-.
כעת, בעצם ניתן להבין שכאשר הופכים את כל האפסים לאחדים וההפך, בעצם כעת משתמשים בחזקות של שתים שקודם התאפסו וההפך, כלומר עבור 23 מתחילים מ-
ועכשיו אם נהפוך את כל הספרות:
וראינו לפי הפיתוח שחסר אחד כדי שנקבל 23-. לכן מוסיפים אחד!





