logo

חיבור וחיסור באמצעות משלים של 2

בחלק הקודם שלנו, למדנו כיצד נוכל לבצע פעולות אריתמטיות כגון חיבור וחיסור באמצעות המשלים של 1. בחלק זה נלמד לבצע את הפעולות הללו באמצעות המשלים של 2.

עיצוב תאריך ב-java

הוספה באמצעות משלים של 2

ישנם שלושה מקרים שונים אפשריים כאשר אנו מוסיפים שני מספרים בינאריים באמצעות המשלים של 2, שהוא כדלקמן:

מקרה 1: חיבור של המספר החיובי עם מספר שלילי כאשר המספר החיובי הוא בגודל גדול יותר.

תחילה מצא את המשלים של 2 של המספר השלילי הנתון. סכמו עם המספר החיובי הנתון. אם נקבל את ה-End-around carry 1 אז המספר יהיה מספר חיובי ו-carry bit יימחק והסיביות הנותרות הן התוצאה הסופית.

דוגמה: 1101 ו-1001

  1. ראשית, מצא את המשלים של 2 של המספר השלילי 1001. לכן, כדי למצוא את המשלים של 2, שנה את כל 0 ל-1 ואת כל 1 ל-0 או מצא את המשלים של 1 של המספר 1001. המשלים של 1 של המספר 1001 הוא 0110, ו הוסף 1 ל-LSB של התוצאה 0110. אז המשלים של ה-2 של מספר 1001 הוא 0110+1=0111
  2. הוסף את שני המספרים, כלומר, 1101 ו-0111;
    1101+0111=1 0100
  3. על ידי הוספת שני המספרים, נקבל את ה-end-around carry 1. אנו פוסלים את ה-end-around carry. אז, התוספת של שני המספרים היא 0100.

מקרה 2: הוספה של הערך החיובי עם ערך שלילי כאשר למספר השלילי יש גודל גבוה יותר.

בתחילה, הוסף ערך חיובי עם הערך המשלים של ה-2 של המספר השלילי. כאן, לא נמצא נשיאה מקצה לקצה. אז, אנחנו לוקחים את ההשלמה של ה-2 של התוצאה כדי לקבל את התוצאה הסופית.

הערה: התוצאה היא ערך שלילי.

דוגמה: 1101 ו-1110

  1. ראשית, מצא את המשלים של ה-2 של המספר השלילי 1110. לכן, למציאת ההשלמה של 2, הוסף 1 ל-LSB של ערך ההשלמה של ה-1 שלו 0001.
    0001+1=0010
  2. הוסף את שני המספרים, כלומר, 1101 ו-0010;
    1101+0010= 1111
  3. מצא את המשלים של ה-2 של התוצאה 1110 שהיא התוצאה הסופית. אז, ההשלמה של ה-2 לתוצאה 1110 היא 0001, והוסיפו סימן שלילי לפני המספר כדי שנוכל לזהות שזהו מספר שלילי.

מקרה 3: חיבור של שני מספרים שליליים

במקרה זה, ראשית, מצא את המשלים של 2 של שני המספרים השליליים, ולאחר מכן נוסיף את שני המספרים המשלימים הללו. במקרה זה, תמיד נקבל את ה-end-around carry, אשר יתווסף ל-LSB, ואם שכחנו את התוצאה הסופית, ניקח את ההשלמה של ה-2 לתוצאה.

הערה: התוצאה היא ערך שלילי.

דוגמה: -1101 ו -1110 באוגר של חמש סיביות

  1. ראשית, מצא את המשלים של 2 של המספרים השליליים 01101 ו-01110. לכן, למציאת ההשלמה של 2, נוסיף 1 ל-LSB של המשלים של ה-1 של המספרים הללו. המשלים של 2 למספר 01110 הוא 10010, ו-01101 הוא 10011.
  2. נוסיף את שני המספרים המשלים, כלומר, 10001 ו-10010;
    10010+10011= 1 00101
  3. על ידי הוספת שני המספרים, נקבל את הסחיבה 1. הסחיבה הזו נמחקת והתוצאה הסופית היא המשלים 2.s של התוצאה 00101. לכן, ההשלמה של ה-2 של התוצאה 00101 היא 11011, ונוסיף שלילית סימן לפני המספר כדי שנוכל לזהות שמדובר במספר שלילי.

חיסור באמצעות משלים של 2

אלו הם השלבים הבאים להפחתת שני מספרים בינאריים באמצעות המשלים של 2

  • בשלב הראשון, מצא את המשלים של ה-2 של המשנה.
  • הוסף את המספר המשלים עם התפריט.
  • אם נקבל את השיא על ידי הוספת שני המספרים, אז נזרוק את הסחיבה הזו והתוצאה חיובית אחרת קחו השלמה של 2 של התוצאה שתהיה שלילית.

דוגמה 1: 10101 - 00111

אנחנו לוקחים את המשלים של 2 של subtrahend 00111, שהוא 11001. עכשיו, סכם אותם. כך,

10101+11001 =1 01110.

בתוצאה שלמעלה, נקבל את סיבית ה-carry 1. אז אנו פוסלים את סיבית ה-carrierה הזו והנותרת היא התוצאה הסופית ומספר חיובי.

דוגמה 2: 10101 - 10111

אנחנו לוקחים את המשלים של 2 של subtrahend 10111, שיוצא 01001. כעת, נוסיף את שני המספרים. כך,

10101+01001 =11110.

בתוצאה שלעיל, לא קיבלנו את קצה הנשיאה. אז חשב את ההשלמה של ה-2 של התוצאה, כלומר, 00010. זה המספר השלילי והתשובה הסופית.