Edellisessä osiossa opimme erilaisista komplementeista, kuten 1:n komplementista, 2:n komplementista, 9:n komplementista ja 10:n komplementista jne. Tässä osiossa opimme suorittamaan aritmeettisia operaatioita, kuten yhteen- ja vähennyslaskua käyttämällä ykkösen komplementtia. Voimme tehdä yhteen- ja vähennyslaskua käyttämällä 1:n, 2:n, 9:n ja 10:n komplementtia.
Lisäys 1:n komplementilla
On kolme eri tapausta mahdollista, kun lisäämme kaksi binaarilukua, jotka ovat seuraavat:
Tapaus 1: Positiivisen luvun lisääminen negatiiviseen numeroon, kun positiivisen luvun suuruus on suurempi.
Laske aluksi annetun negatiivisen luvun 1:n komplementti. Summa annetulla positiivisella luvulla. Jos saamme end-around carry 1:n, se lisätään LSB:hen.
Esimerkki: 1101 ja -1001
- Etsi ensin negatiivisen luvun 1001 komplementti 1:n komplementti. Joten luvun 1 komplementin löytämiseksi muuta kaikki 0 yhdeksi ja kaikki 1 0:ksi. Luvun 1001 1:n komplementti on 0110.
- Lisää nyt molemmat numerot, eli 1101 ja 0110;
1101+0110=1 0011 - Lisäämällä molemmat luvut, saamme lopun siirtoarvon 1. Lisäämme tämän lopun siirtoarvon 0011:n LSB:hen.
0011+1=0100
Tapaus 2: Positiivisen arvon lisääminen negatiiviseen arvoon, jos negatiivisen luvun suuruus on suurempi.
Laske aluksi negatiivisen arvon 1:n komplementti. Summaa se positiivisella luvulla. Tässä tapauksessa emme saaneet lopullista kantamista. Joten ota tuloksen 1:n komplementti saadaksesi lopullisen tuloksen.
Huomautus: Resultantti on negatiivinen arvo.
Esimerkki: 1101 ja -1110
- Etsi ensin negatiivisen luvun 1110 1:n komplementti. Joten 1:n komplementin löytämiseksi muutamme kaikki 0:t 1:ksi ja kaikki 1:t 0:ksi. Luvun 1110 1:n komplementti on 0001.
- Lisää nyt molemmat numerot, eli 1101 ja 0001;
1101+0001= 1110 - Etsi nyt 1:n komplementti tuloksesta 1110, joka on lopputulos. Tuloksen 1110 ykkösen komplementti on siis 0001, ja lisäämme luvun eteen negatiivisen merkin, jotta voimme tunnistaa sen olevan negatiivinen luku.
Tapaus 3: Kahden negatiivisen luvun lisääminen
Tässä tapauksessa etsitään ensin molempien negatiivisten lukujen 1:n komplementti ja sitten lisätään molemmat nämä komplementtiluvut. Tässä tapauksessa saamme aina lopputuloksen, joka lisätään LSB:hen, ja lopputuloksen saamiseksi otamme tuloksen 1:n komplementin.
Huomautus: Resultantti on negatiivinen arvo.
Esimerkki: -1101 ja -1110 viisibittisessä rekisterissä
- Ensin etsitään negatiivisten lukujen 01101 ja 01110 ykkösten komplementti. Joten 1:n komplementin löytämiseksi muutamme kaikki 0:t 1:ksi ja kaikki 1:t 0:ksi. Numeron 01110 1:n komplementti on 10001 ja 01101 on 10010.
- Nyt lisäämme molemmat komplementtiluvut, eli 10001 ja 10010;
10001+10010= 100011 - Kun lisäämme molemmat luvut, saamme lopputuloksen 1. Lisäämme tämän lopun siirtoarvon 00011:n LSB:hen.
00011+1=00100 - Etsi nyt tuloksen 00100 1:n komplementti, joka on lopullinen vastaus. Tuloksen 00100 ykkösen komplementti on siis 110111, ja lisää luvun eteen negatiivinen etumerkki, jotta voimme tunnistaa sen olevan negatiivinen luku.
Vähennys 1:n komplementilla
Nämä ovat seuraavat vaiheet kahden binääriluvun vähentämiseksi käyttämällä 1:n komplementtia
- Etsi ensimmäisessä vaiheessa aliosan 1:n komplementti.
- Lisää seuraavaksi komplementtinumero minuendin kanssa.
- Jos sinulla on kanto, lisää kanto sen LSB:hen. Muussa tapauksessa otetaan tuloksen 1:n komplementti, joka on negatiivinen
Huomautus: Subtrahend-arvo vähennetään aina minuend-arvosta.
Esimerkki 1: 10101 - 00111
Otetaan 1:n komplementti aliosasta 00111, joka tulee ulos 11000. Summaa ne nyt. Niin,
10101+11000 =1 01101.
Yllä olevassa tuloksessa saamme siirtobitin 1, joten lisää tämä tietyn tuloksen LSB:hen, eli 01101+1=01110, joka on vastaus.
Esimerkki 2: 10101-10111
Otetaan 1:n komplementti aliosaluvusta 10111, josta tulee 01000. Lisää nyt molemmat luvut. Niin,
10101+01000 =11101.
Yllä olevassa tuloksessa emme saaneet kantopalaa. Laske siis tuloksen 1:n komplementti, eli 00010, joka on negatiivinen luku ja lopullinen vastaus.