בחלק הקודם שלנו למדנו על משלים שונים כמו משלים של 1, משלים של 2, משלים של 9 ומשלים של 10 וכו'. בחלק זה נלמד לבצע את פעולות החשבון כמו חיבור וחיסור באמצעות המשלים של 1. אנו יכולים לבצע חיבור וחיסור באמצעות משלימים של 1, 2, 9 ו-10.
הוספה באמצעות משלים של 1
ישנם שלושה מקרים שונים אפשריים כאשר אנו מוסיפים שני מספרים בינאריים שהם כדלקמן:
מקרה 1: חיבור של המספר החיובי עם מספר שלילי כאשר המספר החיובי הוא בגודל גדול יותר.
בתחילה, חשב את המשלים של 1 של המספר השלילי הנתון. סכמו עם המספר החיובי הנתון. אם נקבל את ה-end-around carry 1, הוא יתווסף ל-LSB.
דוגמה: 1101 ו-1001
- ראשית, מצא את המשלים של 1 של המספר השלילי 1001. לכן, כדי למצוא את המשלים של 1, שנה את כל 0 ל-1 ואת כל 1 ל-0. המשלים של 1 של המספר 1001 הוא 0110.
- כעת, הוסף את שני המספרים, כלומר, 1101 ו-0110;
1101+0110=10011 - על ידי הוספת שני המספרים, נקבל את ה-end-around carry 1. אנו מוסיפים את ה-end-around carrier הזה ל-LSB של 0011.
0011+1=0100
מקרה 2: הוספת ערך חיובי עם ערך שלילי במקרה שלמספר השלילי יש גודל גבוה יותר.
תחילה, חשב את המשלים של ה-1 של הערך השלילי. סכם את זה במספר חיובי. במקרה הזה, לא קיבלנו את הסחיבת הקצה. אז, קח את השלמה של ה-1 של התוצאה כדי לקבל את התוצאה הסופית.
הערה: התוצאה היא ערך שלילי.
דוגמה: 1101 ו-1110
- תחילה מצא את המשלים של 1 של המספר השלילי 1110. לכן, כדי למצוא את המשלים של 1, נשנה את כל 0 ל-1, ואת כל 1 ל-0. המשלים של 1 למספר 1110 הוא 0001.
- כעת, הוסף את שני המספרים, כלומר, 1101 ו-0001;
1101+0001= 1110 - כעת, מצא את המשלים של 1 של התוצאה 1110 שהיא התוצאה הסופית. אז, ההשלמה של ה-1 לתוצאה 1110 היא 0001, ונוסיף סימן שלילי לפני המספר כדי שנוכל לזהות שזהו מספר שלילי.
מקרה 3: חיבור של שני מספרים שליליים
במקרה זה, מצא תחילה את המשלים של 1 של שני המספרים השליליים, ולאחר מכן נוסיף את שני המספרים המשלימים הללו. במקרה זה, אנחנו תמיד מקבלים את ה-end-around carry, שמתווסף ל-LSB, וכדי לקבל את התוצאה הסופית, אנחנו לוקחים את ה-1 של התוצאה.
הערה: התוצאה היא ערך שלילי.
דוגמה: -1101 ו -1110 באוגר של חמש סיביות
- ראשית, מצא את המשלים של 1 של המספרים השליליים 01101 ו-01110. לכן, כדי למצוא את המשלים של 1, נשנה את כל 0 ל-1, ואת כל 1 ל-0. ההשלמה של 1 של המספר 01110 היא 10001, ו-01101 הוא 10010.
- כעת, נוסיף את שני המספרים המשלים, כלומר, 10001 ו-10010;
10001+10010= 100011 - על ידי הוספת שני המספרים, נקבל את ה-end-around carrier 1. אנו מוסיפים את ה-end-around carrier זה ל-LSB של 00011.
00011+1=00100 - כעת, מצא את המשלים של 1 של התוצאה 00100 שהיא התשובה הסופית. אז, ההשלמה של ה-1 לתוצאה 00100 היא 110111, והוסיפו סימן שלילי לפני המספר כדי שנוכל לזהות שזהו מספר שלילי.
חיסור באמצעות המשלים של 1
אלו הם השלבים הבאים להפחתת שני מספרים בינאריים באמצעות המשלים של 1
- בשלב הראשון, מצא את המשלים של 1 של המשנה.
- לאחר מכן, הוסף את המספר המשלים עם המינואנד.
- אם יש לך נשיאה, הוסף את הנשיאה ל-LSB שלו. אחרת קח השלמה של 1 לתוצאה שתהיה שלילית
הערה: ערך ה-subtrahend תמיד מופחת מ-minuend.
דוגמה 1: 10101 - 00111
אנחנו לוקחים את המשלים של 1 של subtrahend 00111, שיוצא 11000. עכשיו, סכם אותם. כך,
10101+11000 =1 01101.
בתוצאה שלמעלה, נקבל את סיבית ה-carry 1, אז הוסף את זה ל-LSB של תוצאה נתונה, כלומר, 01101+1=01110, שזו התשובה.
דוגמה 2: 10101 - 10111
אנחנו לוקחים את המשלים של 1 של subtrahend 10111, שיוצא 01000. כעת, הוסף את שני המספרים. כך,
10101+01000 =11101.
בתוצאה שלעיל, לא קיבלנו את קצה הנשיאה. אז חשב את ההשלמה של ה-1 של התוצאה, כלומר 00010, שהוא המספר השלילי והתשובה הסופית.