Előző részünkben megismerkedtünk a különféle komplementerekkel, mint például az 1-es komplementere, a 2-es komplementere, a 9-es komplementere, a 10-es komplementere stb. Ebben a részben megtanuljuk, hogyan kell végrehajtani az olyan számtani műveleteket, mint az összeadás és a kivonás 1-es komplementerével. Összeadást és kivonást végezhetünk 1-es, 2-es, 9-es és 10-es komplementer használatával.
Összeadás 1 komplementerével
Három különböző eset lehetséges, ha két bináris számot adunk össze, amelyek a következők:
1. eset: A pozitív szám összeadása egy negatív számmal, amikor a pozitív szám nagyobb.
Először számítsa ki az adott negatív szám 1-es komplementerét. Adjon összeget a megadott pozitív számmal. Ha megkapjuk az end-around carry 1-et, az hozzáadódik az LSB-hez.
Példa: 1101 és -1001
- Először keresse meg a negatív 1001 szám 1-es komplementerét. Tehát az 1 komplementerének megtalálásához változtassa meg mind a 0-t 1-re és mind az 1-et 0-ra. Az 1001-es szám 1-es komplementere 0110.
- Most adja hozzá mindkét számot, azaz az 1101-et és a 0110-et;
1101+0110=1 0011 - Mindkét szám összeadásával megkapjuk az end-around carry 1-et. Ezt a körvégét adjuk hozzá a 0011 LSB-hez.
0011+1=0100
2. eset: Pozitív érték hozzáadása negatív értékkel, ha a negatív szám nagyobb magnitúdójú.
Először számítsa ki a negatív érték 1-es komplementerét. Adja össze pozitív számmal. Ebben az esetben nem kaptuk meg a végső szállítást. Tehát vegyük az eredmény 1-es kiegészítését, hogy megkapjuk a végeredményt.
Megjegyzés: Az eredmény negatív érték.
Példa: 1101 és -1110
- Először keressük meg a negatív 1110-es szám 1-es komplementerét. Az 1-es komplementerének megtalálásához tehát mind a 0-t 1-re, az 1-est pedig 0-ra változtatjuk. Az 1110-es szám 1-es komplementere 0001.
- Most adja hozzá mindkét számot, azaz az 1101-et és a 0001-et;
1101+0001= 1110 - Most keresse meg az 1110 eredmény 1-es komplementerét, amely a végeredmény. Tehát az 1110 eredmény 1-es komplementere 0001, és a szám elé egy negatív előjelet adunk, hogy megállapíthassuk, hogy negatív szám.
3. eset: Két negatív szám összeadása
Ebben az esetben először keressük meg mindkét negatív szám 1-es komplementerét, majd adjuk hozzá mindkét komplementer számot. Ebben az esetben mindig az end-around carry-t kapjuk, ami hozzáadódik az LSB-hez, és a végeredmény megszerzéséhez az eredmény 1-es komplementerét vesszük.
Megjegyzés: Az eredmény negatív érték.
Példa: -1101 és -1110 ötbites regiszterben
- Először keresse meg a 01101 és 01110 negatív számok 1-es komplementerét. Tehát az 1 komplementerének megtalálásához mind a 0-t 1-re, az 1-est pedig 0-ra változtatjuk. A 01110 szám 1-es komplementere 10001, a 01101 pedig 10010.
- Most összeadjuk mindkét komplementszámot, azaz az 10001-et és az 10010-et;
10001+10010= 100011 - Mindkét szám összeadásával megkapjuk az end-around carry 1-et. Ezt a körvégi átvitelt hozzáadjuk a 00011 LSB-hez.
00011+1=00100 - Most keresse meg a 00100 eredmény 1-es kiegészítését, amely a végső válasz. Tehát a 00100 eredmény 1-es komplementere 110111, és a szám elé adjunk egy negatív előjelet, hogy megállapíthassuk, hogy negatív szám.
Kivonás 1 komplementerével
A következő lépések a két bináris szám kivonása az 1-es komplementer használatával
- Első lépésben keresse meg a részrész 1-es komplementerét.
- Ezután adja hozzá a komplementszámot a minuend-del.
- Ha van hordozója, adja hozzá a hordozót az LSB-hez. Ellenkező esetben vegye az eredmény 1-es komplementerét, amely negatív lesz
Megjegyzés: A részfej értékét mindig kivonjuk a minuendből.
1. példa: 10101-00111
A 00111 részrész 1-es komplementerét vesszük, ami 11000 lesz. Most összegezzük őket. Így,
10101+11000 =1 01101.
A fenti eredményben az 1-es hordozóbitet kapjuk, tehát ezt adjuk hozzá egy adott eredmény LSB-jéhez, azaz 01101+1=01110, ami a válasz.
2. példa: 10101-10111
Az 10111 részrész 1-es komplementerét vesszük, ami 01000 lesz. Most adjuk hozzá mindkét számot. Így,
10101+01000 =11101.
A fenti eredménynél nem kaptuk meg a hordozó bitet. Tehát számítsuk ki az eredmény 1-es komplementerét, azaz 00010-et, amely a negatív szám és a végső válasz.